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

RE: getaddrinfo address ordering [Re: IPv6 transition architecture discussion]



Pekka Savola wrote:

> On Wed, 27 Nov 2002, Gert Doering wrote:
> > On Wed, Nov 27, 2002 at 09:22:04AM +0200, Pekka Savola wrote:
> > > These help quite a bit, but I guess adding some 
> getaddrinfo hint like
> > > AI_PREFERV4 or AI_PREFERV6 could be added in the case 
> that DNS lookup
> > > returns both addresses, you use AF_UNSPEC and you want to 
> influence the
> > > default DNS record ordering.
> > 
> > In addition to that, provide a system configuration item that will
> > set the default preference in case the application doesn't specify
> > AI_PREFER*
> 
> Yes, that could be the policy table (or my suggestion) actually 
> implementing the toggle in the resolver, often in /etc/resolv.conf.
>  
> > Usually it's not something the application would care 
> about, but more
> > the system administrator - "I want to have IPv6 but I do 
> not trust it
> > enough to be the default" vs. "I know IPv6 is now working 
> well enough".
> 
> Totally agree -- some apps can be exceptions though.
> 
> I want to be able to start enabling v6 by default, to build 
> the user base, 
> but I don't want it to cause _any_ ill effects to apps or the 
> user yet.
> 
> Currently there is no way to do this, and I believe it's 
> critical when we really want to deploy v6 to the masses.

The OS or actually the resolver part of the OS should be able
to be configured with an option exactly like above.
Programs should _never_ have a preference, if they do they
should ask for an AF_INET or AF_INET6 that's enough preference already
:)
I am against having the AI_PREFER4/6 as this would be too program
specific and one needs to recompile to get it out.

The resolver could/should have a setting in f.e /etc/resolv.conf
or in the registry: "prefer AAAA,A" This would first try IPv6,
then IPv4. I think I once saw a discussion on the debian-ipv6
lists talking about such a mechanism which would be implemented
into the glibc resolver library.

One could also have a tool which periodically, say once a week,
or on-boot checks if there is a working IPv6 uplink. Eg by sending
a ping packet to a well known host by doing this in IPv4 and IPv6
this toggle could be flipped automatically. Ofcourse due to privacy
there should be an easy way to turn this off and to change the host.

Greets,
 Jeroen