In your previous mail you wrote: In RFC 3493 it is said AF_INET6 sockets receive connections from IPv4 nodes, mapping their addresses to ::ffff:<IPv4 address>. I think this behaviour is on by default.
=> you are right. Although it is not explicitly stated, section 5.3 indicates a way to turn off this behaviour using the IPv6_V6ONLY socket option. I was wondering if you can or can't bind both AF_INET6 and AF_INET sockets to the same port at the same time. Is it ok or is it a bind error? => it depends on the REUSEADDR stuff, addresses, order of calls to bind(). Typically the default is to inject the IPv4 space into the IPv6 one but there are subtle variations about this in current implementations. If it is not an error which socket receives a IPv4 connection? Both? Only one? None? => only one and the one bound to the address. In my test lab I can't seam to be able to get Microsoft's O.S. AF_INET6 sockets to receive connections from IPv4, forcing me to bind 2 sockets, one in each protocol. => Microsoft's O.S. is known to be not conform (note that RFC 3493 is informational): the IPv4 and the IPv6 stacks are separated. In linux it works fine though, I only nead one socket. I have not tested any other O.S. yet. This seams highly contraditory... => Linux is not conform too but the issue is more about REUSEADDR semantic. One thing which works on every recent implementation is to set the IPv6_V6ONLY to one and to bind two sockets to 0.0.0.0 and ::. Of course if you can use only RFC 3493 there are better ways. Regards [EMAIL PROTECTED] -------------------------------------------------------------------- IETF IPv6 working group mailing list [EMAIL PROTECTED] Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6 --------------------------------------------------------------------