To:
<itojun@iijlab.net>
cc:
<dnsop@cafax.se>
From:
Philip Hazel <ph10@cus.cam.ac.uk>
Date:
Thu, 20 Sep 2001 09:11:04 +0100 (BST)
In-Reply-To:
<12584.1000889027@itojun.org>
Sender:
owner-dnsop@cafax.se
Subject:
Re: operationally (if not yet WG) related
On Wed, 19 Sep 2001 itojun@iijlab.net wrote: > yes, the implementation differences are painful for application > developers, however, implementers failed to reach the consensus > after a long long holy war. the safest way for application > implementers is to avoid using IPv4 mapped address at all and use > AF_INET6/AF_INET sockets separately. Data point for information: You cannot at present do that on all OS, as I found when sorting this out for Exim. . On Solaris, an IPv6 socket will accept IPv4 calls, and give them as mapped addresses. However, if an IPv4 socket is also listening, calls are directed to the appropriate socket. . On (some versions of) Linux, an IPv6 socket will accept IPv4 calls, and give them as mapped addresses, but an attempt also to listen on an IPv4 socket causes an error. . On OpenBSD, an IPv6 socket will not accept IPv4 calls. You have to set up two sockets if you want to accept both kinds of call. . FreeBSD is like OpenBSD, but it has the IPV6_V6ONLY socket option, which can be turned off, to make it behave like the versions of Linux described above. . I heard a report that the USAGI IPv6 stack for Linux has implemented IPV6_V6ONLY. -- Philip Hazel University of Cambridge Computing Service, ph10@cus.cam.ac.uk Cambridge, England. Phone: +44 1223 334714.