View Single Post
Posts: 2,144 | Thanked: 8,409 times | Joined on May 2010
Some notes from my side:

1) Stock kernel does not support IPv6, so by default there is no way to open/bind IPv6 socket

2) Basically all default Maemo 5 applications have disabled IPv6 support, so they do not try to open/bind IPv6 socket (even you have kernel with IPv6 support)

3) Disabling IPv6 support can be achieved by sysctl which you already wrote. When disable_ipv6=1 then *no* userspace application is able to open/bind IPv6 socket. Kernel acts same as if IPv6 support was disabled at compile time.

4) Asking DNS server for AAAA record has nothing and absolutely nothing with IPv6 support. You can ask for AAAA record of some hostname via IPv6 DNS socket and also via *IPv4* DNS socket. POSIX applications uses getaddrinfo() function (see man 3 getaddrinfo) which is supposed to do DNS lookups.

5) Router has nothing allowing IPv6 connections and AAAA queries. Those are two different things which has nothing in common. DNS is application protocol (layer 7) and IPv6 is network protocol (layer 3).

6) DNS resolving does not have to be slow "because of IPv6". You can ask (and system libraries probably do it) for ANY address for some host and you get both IPv4 and IPv6 address.

7) IPv6 Link-Local address cannot be used for making "internet" connection and IIRC connect() is not possible.

So... In IPv4-only network there should be absolutely no penalty with enabled IPv6 support in kernel or applications.

Problem can be in IPv4-only network which advertise IPv6 availabilty (which is non-working). But simple disabling IPv6 in kernel fixes it.

So if you are seeing some problems even after disabling IPv6 then it is probably not IPv6 related.

The Following 6 Users Say Thank You to pali For This Useful Post: