IPv6 Resolver (or: Slow rendering of Webpages using Konqueror)

Melvyn Sopacua freebsd-stable at webteckies.org
Wed Apr 30 12:42:46 PDT 2003


Hi,

<new_listmember_intro>
Name: Melvyn Sopacua
Occupation: WebMaster
Age: 32
Location: Netherlands
</new_listmember_intro>

after quite some digging, the user experience mentioned in brackets above,
turned out to be ipv6 resolving problems. They only occur with certain
hosts, one of them being the adserver company my employer uses, 'DoubleClick'.

What is frustrating about this, is that there seems to be no 'IPv6 off' button.

Recompiling world, with a kernel, __without__ ipv6 support (options INET6
commented out), still exposes the behavior. This seems to be an application
enabled behavior. For example, installing the bind9 port version of the 'host'
command (even with an INET6-kernel) does not expose the behavior.

When we look at the wget port __without__ ipv6, the ports' patch explicetely
enables ipv6 in configure:
# gzcat /var/ports/distfiles/wget_1.8.2-10.diff.gz  |grep -A1 'echo enable'
+echo enable IPv6 1>&6
+CFLAGS="$CFLAGS -DINET6 "

(most of the patch is ipv6 related anyhow)

When you use `make patch` and then edit configure, stripping the above 2 lines,
then use `make install`, wget is performing as expected.

Here's are the 2 tcpdump outputs, generated by:
# tcpdump host my.host and port domain

[interim timestamps stripped for clarity]
Wget with INET6 defined:
18:23:42.424637
my.host.1086 > ns3.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1087 > ns1.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1088 > ns2.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1089 > ns3.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1090 > ns1.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1091 > ns2.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1092 > ns3.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1093 > ns1.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1094 > ns2.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1095 > ns3.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1096 > ns1.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1097 > ns2.my.host.domain:  56663+ AAAA? ad.uk.doubleclick.net. (39)
my.host.1098 > ns3.my.host.domain:  56664+ A? ad.uk.doubleclick.net. (39)
18:25:03.536854
That's 2 minute loss on 1 lookup...

Wget without INET6 defined:
18:58:55.432108
my.host.1140 > ns3.my.host.domain:  50434+ A? ad.uk.doubleclick.net. (39)
ns3.my.host.domain > ardvark.my.host.1140:  50434 2/8/0 CNAME[|domain]
18:58:55.451577

Less than a second.

The same applies to the 'host' binary.

My resolv.conf is pretty virgin - contains my domain name, followed by the
closest ns server, ns3 and the other two ns1 and ns2 (other network, but also
operated by us).

Apparently the same behavior is applied in the KDE port, for Konqueror.

Is there a 'dont do anything ipv6 related' switch I'm missing and why do these
binaries even bother, when:
/etc/rc.conf says: ipv6_enable="NO"
ifconfig -a | grep gif | wc -l = 0

and there isn't even support for IPv6 in the kernel?


With kind regards,

Melvyn Sopacua
<?php include("not_reflecting_employers_views.txt"); ?>



More information about the freebsd-stable mailing list