Bug 531873

Summary: bonding driver 3.4.0 requires ipv6 kernel modules
Product: Red Hat Enterprise Linux 5 Reporter: Joseph Boyer Jr. <jboyerjr>
Component: kernelAssignee: Andy Gospodarek <agospoda>
Status: CLOSED NOTABUG QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: low    
Version: 5.4CC: dzickus, peterm
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-11-09 15:07:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Joseph Boyer Jr. 2009-10-29 17:33:02 UTC
Description of problem:
If a user completely disables ipv6 (/etc/modprod.d/ipv6 [install ipv6 /bin/true]) and is using bonding the bonding module fails with unknown symbol references to ipv6. 

if the user just disables ipv6 with /etc/modprode.conf
alias net-pf-10 off
alias ipv6 off

Than the bonding loads enabling ipv6 on the bond virtual interface, which defeats what the user is trying to do, i.e. having ipv6 disable on all interfaces.

Version-Release number of selected component (if applicable):

RHEL 5.4
bonding driver 3.4.0
kernel 2.6.18-164

How reproducible:

Steps to Reproduce:
1. enable bonding
2. completely disable ipv6
cat>/etc/modprod.d/ipv6 
install ipv6 /bin/true
3.reboot and the bonding device does not come up
  
Actual results:
bodning does not load due to unknow symbol references:
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
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
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


Expected results:
bonding to load with no ipv6

Additional info:

Comment 1 Joseph Boyer Jr. 2009-10-29 21:15:24 UTC
having ipv6 enabled if you are not utilizing leads to over head in DNS lookups and additional load place on your dns severs, since looks up will go 'AAAA' records (ipv6) first than 'A' records (ipv4). And if you have a domain search list this will add additional latency as well. This is particular important for low latency applications such as in financial services.

The bonding driver in RHEL 5.3 and prior did not have a dependency on ipv6.

Comment 2 Andy Gospodarek 2009-11-09 15:07:07 UTC
Joseph, we did make bonding aware of ipv6 for failover purposes in RHEL5.4, so the ipv6 module will now need to be loaded for bonding to load.

Since some users has the same concern as you an option was also added to ipv6 so that it could be loaded and symbols would resolve), but it would never be enabled.  The details were added to our release notes, so I will just copy and paste them here:

"The bonding driver has been updated to the latest upstream version. This
update, however has introduced symbol/ipv6 module dependency capabilities.
Therefore, if bonding has been previously disabled (by inserting the 'install
ipv6 /bin/false' line in the /etc/modprobe.conf file) an upgrade to the bonding
driver in 5.4 will result in the bonding kernel module failing to load. The
'install ipv6 /bin/false' line needs to be replaced with "options ipv6
disable=1" for the bonding module to load properly."

From: http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Release_Notes/sect-Release_Notes-Kernel_Related_Updates.html

I am going to close this as NOTABUG since the release notes outline how to accomplish what you would like but, but feel to free to re-open if you have any more problems or questions.