[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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.


Home | Date list | Subject list