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]