Hi Guys,
        There is a collection of result of bind() tests at:
http://www.kame.net/newsletter/20010504/
        Regards,

Janos Mohacsi
Network Engineer, Research Associate
NIIF/HUNGARNET, HUNGARY
Key 00F9AF98: 8645 1312 D249 471B DBAE  21A2 9F52 0D1F 00F9 AF98


On Thu, 9 Jun 2005, Bound, Jim wrote:

folks yes HP-UX supports IPV6_V6ONLY socket option.
/jim

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Yasevich, Vladislav
Sent: Wednesday, June 08, 2005 12:06 PM
To: mclellan, dave
Cc: '[email protected]'
Subject: Re: bind() behavior with family AF_INET6, INADDR6_ANY


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]


---------------------------------------------------------------------
The IPv6 Users Mailing List
Unsubscribe by sending "unsubscribe users" to [EMAIL PROTECTED]

---------------------------------------------------------------------
The IPv6 Users Mailing List
Unsubscribe by sending "unsubscribe users" to [EMAIL PROTECTED]

Reply via email to