On Wed, 2005-06-08 at 09:22 +0200, Jeroen Massar wrote: > > For all your answers, read Eva's excellent document at: > http://gsyc.escet.urjc.es/~eva/IPv6-web/ipv6.html
Yes very good document. Please read. > > Here's the main question: > > > > - should it work consistently as a definition of the protocol: > > bind(socket,sockaddr,len) where the socket is AF_INET6 and the IP address is > > INADDR6_ANY. > > No, this will only bind to AF_INET6. Some OS's support the compatibility > addresses, while some don't. Only if the default in the OS is to do that. There is a socket option to figure out the default. It's called IPV6_V6ONLY. If your OS supports it, you change the behavior of the wildcard bind to use IPv6 only addresses (option is on), or all addresses (option is off). > > > - server binds as described and clients connect from IP4 or IP6 families. > > On some platforms it does, on some it doesn't > > > - Are there some OSs that won't allow this? On these do I have to listen > > on multiple sockets in different families, callling select() and then > > accept()? Yes. You would need to create 2 sockets and select() or poll() between them. > Always use multiple sockets, for that matter, use getaddrinfo(). > > > Any shared experience would be helpful. I'm supporting Solaris, AIX, HP-UX, > > Tru64, WIN2K, Linux various kernels, and some other oddball OS's. On Linux, Tru64, and HP-UX, the behavior of a bind to a IN6ADDR_ANY will is allow operations on all address IPv4 and IPv6. IPv4 address will be represented in IPv4-mapped format of ::ffff:1.2.3.4. Tru64 5.1b and Linux 2.6 (not sure about HP-UX) have support for IPV6_V6ONLY socket option. You can enable the separate socket behavior by setting this option to 1. -vlad --------------------------------------------------------------------- The IPv6 Users Mailing List Unsubscribe by sending "unsubscribe users" to [EMAIL PROTECTED]
