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
--------------------------------------------------------------------

Reply via email to