IPV6_RECVPKTINFO not working for IPv4-mapped addresses on Linux?

Gert Doering gert at space.net
Wed Jan 22 18:27:38 CET 2014


On Wed, Jan 22, 2014 at 12:00:05PM -0500, Simon Perreault wrote:
> Le 2014-01-22 11:54, Francis Dupont a écrit :
> >>   On 20/01/2014 17:12, Simon Perreault wrote:
> >>   > IIRC, recent versions of Bind open a socket per address on IPv4
> >
> > => not it is not by choice, just:
> >   - DNS requires to answer from the address the request was received
> >   - there is no standard/portable way to do this without the one
> >    socket per address in IPv4 (if you need an argument, just ask what
> >    this discussion is about :-)
> Exactly what I had guessed. Thanks for confirming.

I was about to write "it's not that hard, you have IP_PKTINFO on Linux
and IP_RECVDSTADDR on *BSD" - but then I remembered that bind runs on
a *lot* more platforms than that, and I'm not sure if I want to know
about the gory details on AIX, HP-UX, SCO, ... regarding this :-)

OpenVPN is much more lucky here: it needs a tun/tap driver, so all the 
(nowadays) oddball platforms can not be supported anyway, which makes
my life much easier (in a way).

> > => BIND polls from time to time interfaces to bind() to new addresses
> > (again, there is no standard/portable way to be notified. BTW we (ISC)
> > know this is a point which can be improved so if you know a generic
> > simple solution...)
> Listening on a routing socket doesn't qualify as "generic" nor "simple", 
> does it? ;)

I'm fairly sure half of the platforms BIND runs on do not have routing
sockets...  so that part of the code is likely to be full of interesting
bits and pieces as well.

Gert Doering
        -- NetMaster
have you enabled IPv6 on something today...?

SpaceNet AG                        Vorstand: Sebastian v. Bomhard
Joseph-Dollinger-Bogen 14          Aufsichtsratsvors.: A. Grundner-Culemann
D-80807 Muenchen                   HRB: 136055 (AG Muenchen)
Tel: +49 (0)89/32356-444           USt-IdNr.: DE813185279

More information about the ipv6-ops mailing list