On Friday 20 March 2015 12:54:14 Light, John J wrote: > I'm sure Thiago understands this is not what I suggest or propose. "Dual > stack" is a current term of art in the IPv6 community referring to the best > means of managing the transition from IPv4 to IPv6. The first Google > response to "IPv6 dual stack" is > http://www.networkworld.com/article/2285078/tech-primers/ipv6--dual-stack-w > here-you-can--tunnel-where-you-must.html . > > The 'dual stack' approach refers to allowing the application to support two > network stacks, both at the *socket layer only*. This can be done two > ways: One socket that binds to a special IPv6 address that includes an > embedded reference to an IPv4 address. Two sockets that bind to IPv6 and > IPv4, respectively. I chose the second approach because it provides more > flexibility for managing interfaces, at the cost of one socket, which is > cheap. When done properly (see caethernetserver.c:: CAReceiveHandler in > ca-ipv6) there is almost no extra code, and the rest of the application > sees only one result. > > The dual stack approach allows us full IPv6 support with automatic fallback > to IPv4 when needed, with a single binary. A working example of this > approach is available in ca-ipv6.
Hi John That's not what I meant. I was referring to the fact that you added new constants to the CA adapter selection, allowing one to select "IPv4 ethernet", "IPv6 ethernet" and just plain "ethernet". I'm saying I think we should only keep the latter and remove the choice to select one IP version or another. The only case we came to that makes sense to keep any kind of distinction is saving a cache and restarting the application. But then, the selection may not be of IP version alone, but also of which interface or even transport technology (a device may be found also over Bluetooth). -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center
