nanog mailing list archives

Re: Failover IPv6 with multiple PA prefixes (Was: IPv6 fc00::/7 - Unique local addresses)


From: Arifumi Matsumoto <a () arifumi net>
Date: Tue, 2 Nov 2010 02:58:18 +0900

Hi,

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:
draft-fujisaki-6man-addr-select-opt-00

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.

Best regards,

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
page.

--
# 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
--







Current thread: