Subject: Re: 2.6.29 regression? Bonding tied to IPV6 in 29-rc5

From: Brian Haley <[email-masked]>
Date: Tue, 17 Feb 2009 15:10:23 -0500

Andrey Borzenkov wrote:
> On 17 of February 2009 20:01:38 Andrey Borzenkov wrote:
>> Forward to bonding and netdev
>>
>> On 17 of February 2009 11:52:32 J.A. Magallón wrote:
>>> Hi all...
>>>
>>> Don't know if this is specific for -rc5, I have jumped from 28.4 to
>>> 29-rc5. In this latest kernel, I can not install 'bonding' module
>>> if 'ipv6' is disabled to load via modprobe.conf:
>>>
>>> install ipv6 /bin/true
>>>
>>> Trying bonding gives this dmesg:
>>>
>>> bonding: Unknown symbol ndisc_build_skb
>>> bonding: Unknown symbol in6_dev_finish_destroy
>>> bonding: Unknown symbol ndisc_send_skb
>>> bonding: Unknown symbol unregister_inet6addr_notifier
>>> bonding: Unknown symbol register_inet6addr_notifier
>>>
>>> Commenting the line in modprobe.conf makes things smooth again.
>>> We can not disable ipv6 anymore ?
>> If IPv6 is disable in kernel config bonding loads. But I think it is
>> regression, it should be possible to disable IPv6 if not required.
> 
> This hard dependency was apparently introduced by this commit:
> 
> commit 305d552accae6afb859c493ebc7d98ca3371dae2
> Author: Brian Haley <[email-masked]>
> Date:   Tue Nov 4 17:51:14 2008 -0800
> 
>     bonding: send IPv6 neighbor advertisement on failover

I initially had bonding IPv6 support as a Kconfig option, but it was 
decided it would be cleaner if it just got built-in whenever CONFIG_IPV6 
was set like SCTP, with the assumption you might want it.

Is it a common configuration to not allow a module to load like you're 
doing in modprobe.conf?  I don't know how hard it would be to rip this 
out into it's own bonding_ipv6.ko module, simply turning-off CONFIG_IPV6 
seems better.

-Brian