Comment 98 for bug 417757

Revision history for this message
Gregory Burd (gregburd) wrote : Re: [karmic regression] all network apps / browsers suffer from multi-second delays by default due to IPv6 DNS lookups

This issue is serious, it affects a large percentage of the Ubuntu population and, as is obvious by this long discussion, is both a) annoying and b) hard to understand/diagnose/fix properly.

But, if you filter this conversation there is both a good diagnosis (#4) and a good, tested workaround (#74) implemented by engineers at RedHat. The one issue with the workaround is that it essentially disables IPv6 AAAA DNS record lookups when calling getadderinfo() with AF_UNSPEC.

In the README.txt of the RedHat workaround called "libwgetaddrinfo.so" you find:
"IPv6 lookup avoidance by LD_PRELOAD=libwgetaddrinfo.so. getaddrinfo will perform IPv4 and IPv6 lookups when using AF_UNSPEC." They also state that this technically breaks RFC2553 compliance, which is bad.

Right now, in the short term, we're faced with a "lesser of two evils" decision:
1. Adopt the RedHat solution and in the process break RFC2553 while fixing 100% of this problem.
2. Annoy and confuse 80-90% of the Ubuntu population by doing nothing.

Don't get me wrong, I am an IPv6 zealot, but it is counterproductive to the IPv6 cause to force people to disable/fix/workaround IPv6 by hand. That kind of deep mental scaring will end up generating negative PR (google: ipv6 sucks) which will only slow adoption.

I suggest that we adopt option #1 (the RedHat workaround) ASAP and deploy it before this becomes an even bigger firestorm (like an article in eWeek talking about Window 7's superior networking speeds). That's good for no one.

In the mean time we (that's the "royal we") should find some way to un-break the RFC2553 compliance perhaps by only enabling the workaround when the network interface is routed over a broken network (one that doesn't properly do AAAA DNS record lookups). But this will take time and some creativity and we can't afford to wait for that when there is a perfectly good solution available now.

I hope this suggestion is helpful and moves this issue toward resolution.

regards,

-greg