On Tue, Nov 30, 2010 at 02:09:16PM -0600, Larry Finger wrote:
Is there some good reason why IPV6 is built into the
kernel rather than as a module?
originally, IPv6 got moved in the kernel in our moblin kernel
branch to speed up booting. We quickly found that having it as a
module in some branches and built-in in other branches caused a
lot of pain (differrent behaviour when setting various ipv6
sysctl parameters or when disabling it). Thus we decided to unify
all the branches by always building it in.
Also, the bonding module now depends on the ipv6 module, so the
old method of disablling IPv6 by blacklisting the ipv6 module
There are a lot of systems where every DNS lookup has
to timeout on the IPV6
lookup, thus IPV6 must be disabled.
... or the network infrastructure should be fixed, really.
Normally, you should not see any timeouts with IPv6 enabled.
When a host has both AAAA and A records in the DNS, an attempt to
connect to it will(*) try IPv6 first and then fall back to IPv4.
When there is no IPv6 connectivity on the network, the connect(2)
call should return immediately and cause no delay at all. One
common cause of possible timeout delays is badly configured IPv6
router that advertises an IPv6 default route on the local network
without providing the connectivity or sending proper ICMPv6
Destination Unreachable messages.
When it is a module, the YaST setting suffices, but if
in, it must be disabled on the kernel boot line in GRUB.
Another method of disabling IPv6 is sysctl net.ipv6.conf.all.disable_ipv6=1
Also, YaST still has the option to disable IPv6 and does this
by setting this sysctl option in /etc/sysctl.conf
(*) this is an over-simplification the policy can be tuned with
gai.conf and also IPv6 does not always have precedence in some
cases (e.g. 2002::/16 ... )
Jiri Bohac <jbohac(a)suse.cz>
SUSE Labs, SUSE CZ
To unsubscribe, e-mail: opensuse-kernel+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-kernel+help(a)opensuse.org