Failover IPv6 with multiple PA prefixes (Was: IPv6 fc00::/7 - Unique local addresses)
a at arifumi.net
Mon Nov 1 12:58:18 CDT 2010
>> >> 2) ULA brings with it (as do any options that include multiple
>> >> addresses) host-stack complexity and address-selection issues... 'do I
>> >> use ULA here or GUA when talking to the remote host?'
>> > There's an app for that (or rather a library routine called
>> > getaddrinfo() and an optional table it consults), and there's soon going
>> > to be a way to distribute it via DHCPv6 if the defaults don't suit -
>> > http://tools.ietf.org/html/draft-fujisaki-dhc-addr-select-opt-09
I'm a co-author of this draft.
The draft was redirected to 6man wg at IETF, and has a filename:
Unfortunately, I cannot declare it's gonna be ready soon.
This proposal has been hanging in the air for long time without any
remarkable progress. IMO, this is mainly due to lack of interests on
this kind of issues, and lack of operator's perspective on it.
I'm glad if anyone could make comments to the 6man list.
>> Sure, now, how many applications have been coded to actually
>> pay attention to what getaddrinfo is telling them about address
>> selection order?
> All the ones I use - they all seem to use the first getaddrinfo()
> response. They should be attempting to successively connect() to all
> responses in the order that getaddrinfo() returns as connect()
> failures occur. I don't know if they are (as destination reachability
> is usually good), however if they aren't, then the application
> developers haven't used getaddrinfo() correctly. That behaviour
> wouldn't be exclusive to IPv6 though - IPv4 applications should also be
> attempting to connect() to successive addresses when multiple are
> returned. IOW, applications coping with multiple responses to
> getaddrinfo() is not an exclusive issue to IPv6.
> I actually override the current default IPv6 address rules. Here's
> my /etc/gai.conf, which makes ULAs override GUAs as that currently
> isn't in the default address selection rules, and makes tunnelled IPv6
> preferred over native IPv4, as I don't currently have native IPv6. The
> MRS entries are the non-defaults, the rest are from the gai.conf manual
> # Used for selecting source addresses
> # label <prefix> <label>
> label ::1/128 0
> label ::/0 1
> label 2002::/16 2
> label 2000::/3 2 # MRS
> label ::/96 3
> label ::ffff:0:0/96 4
> label fc00::/7 5 # ULA - MRS
> # Used for sorting destination addresses
> # precedence <prefix> <precedence>
> precendence ::1/128 50
> precendence ::/0 40
> precendence fc00::/7 35 # ULA - MRS
> precendence 2000::/3 30 # MRS
> precendence 2002::/16 30
> precendence ::/96 20
> precendence ::ffff:0:0/96 10
More information about the NANOG