Bonding does not work after updating to Red Hat Enterprise Linux 5.4

Solution Verified - Updated

Environment

Red Hat Enterprise Linux 5.4

Issue

When a bonding module is loaded, you may see the following message and bonding is down.

      # modprobe bonding 
      FATAL: Error inserting bonding (/lib/modules/2.6.18-164.6.1.el5/kernel/drivers/net/bonding/bonding.ko): Unknown symbol in module, or unknown parameter (see dmesg) 
       
      # dmesg | grep bond 
      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

Resolution

The bonding driver has been updated to the latest upstream version. This update, however has introduced symbol/ipv6 module dependency capabilities. Therefore, if IPv6 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 module to load properly, as follows:

     # install ipv6 /bin/false
     options ipv6 disable=1 

This has been documented in the 5.4 release notes:

Tags

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.