All,

A recent merge has changed the default IP networking from IPv4 to Dual Stack 
(IPv4/IPv6).

This will affect all IoTivity applications, including samples, tests, examples, 
user applications.  While we have tried to minimize the impact, it is possible 
that some surprises will appear.  If you discover an issue, whether or not you 
are sure it is a result of this change, please post on the DEV list so we can 
quickly discover issues.

Here are the most likely sources of surprise.

*       Dual-Stack means discovery happens on both IPv6 and IPv4.  A server 
node will receive both packets, use the first one it receives, and reply using 
the same address family.

*       A client will send the IPv6 packet first, immediately followed by the 
IPv4 packet.  This means the IPv6 packet will likely be the first one a server 
receives, meaning most IoTivity communication will be IPv6 by default.

*       You can use the Adapter Flags (OCConnecitivityType in C++ API, 
OCTransportFlags in C API) to force IPv4 or IPv6 traffic.  You shouldn't need 
to do this to make applications work.  The Dual-Stack algorithm should just 
work.

*       You can also force a server (or client) to use IPv6 or IPv4 exclusively 
by starting IoTivity appropriately (alternate PlatformConfig structure in C++ 
API, OCInit1 in C API.)

I will try to respond to issues as they come up.  In time I hope others will be 
able to respond to this major change.

Note that the IoTivity stack did not change recently to make this happen, only 
the default settings.  (We delayed changing the default settings until the C 
API samples could be rewritten and tested to support  IPv6.)

The most dramatic effect of this change is that nearly all IoTivity messages 
will now use IPv6 protocol instead of IPv4 protocol.

John Light
OTC OIC Development.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20150813/55ae9b51/attachment.html>

Reply via email to