Re: [Bonding-devel] 2.6.29 regression? Bonding tied to IPV6 in 29-rc5

David Miller
2009-02-17T22:50:29Z

From: Jay Vosburgh <fubar@us.ibm.com>
Date: Tue, 17 Feb 2009 12:08:03 -0800

> The simple answer (don't turn on CONFIG_IPV6) isn't really
> useful for the common case of distro kernels, which will generally have
> CONFIG_IPV6 enabled.

This whole "disable ipv6 module load in /etc/modules.conf" was
bound to eventually cause problems like this.

There are so many chicken-and-egg issues wrt. this it isn't
even funny, for example:

1) If we provide a sysctl which is a bitmask of protocols
to disallow registering, we have the same problem we have
now since ipv6 won't be able to load when the sock_register()
fails.

2) If we add some ipv6 sysctl that says "don't do ipv6" so the
module can load yet not automatically add link local ipv6
addresses to interfaces and solicit for routers on the network,
the sysctl can't be set until the module is loaded.

And this bonding stuff in particular wants to get into the
neighbour discovery state of the ipv6 module. Therefore it's
not like we can split out a few functions into some kind
of "ipv6_helpers.ko" kernel module to eliminate the problem
either.