On Tue, 2006-05-09 at 17:27 +0300, Pekka Savola wrote:
> Likewise, requiring that routers will always send back an ICMP error 
> and the host gets it and honors it seems unfeasible in general.)

That's the ideal case, of course -- but there is unfortunately still
software out there (and, more to the point, in _here_) which will just
use the first result from getaddrinfo() and not fall back to the others
even if it does get an immediate failure.

This _used_ to work on Linux systems until recently. This is because
glibc will use UDP connect() and getsockname() to determine (src, dest)
address pairs, and in the past the connect() would fail if the host had
only site-local addresses and was asked to connect to a global IPv6
address. That behaviour of the kernel has now changed, and the dummy
connect() succeeds.

Glibc's RFC3484 support is described at
http://people.redhat.com/drepper/linux-rfc3484.html

I think it would suffice to add a label for fec0::/16 in the default
table, so that in the case where we choose between RFC1918->Global IPv4
and Site-local->Global IPv6, the former is ordered first by virtue of
Rule 5 -- because the labels match on the IPv4, but not on the IPv6.

That's the behaviour we always _did_ have under Linux, although
seemingly by coincidence.

-- 
dwmw2


--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to