Bonding does not switch to slave

Solution Verified - Updated

Environment

  • Red Hat Enterprise Linux (RHEL) 5
  • Red Hat Enterprise Linux (RHEL) 4.8
  • 32-bit x86 systems

Issue

  • Bonding with mii_monitor does not switch to slave interfaces when the primary NIC goes down
  • Bonding with arp_monitor does not switch to slave interfaces when the primary NIC goes down

Resolution

Root Cause

  • Bonding code uses jiffies to compute timeouts, but there is an error in computation when jiffies wraps.

Diagnostic Steps

  • When this symptom happens, the message of link down of bonding device is not logged
Jul 12 16:21:10 xxxxxx kernel: bnx2: eth0 NIC Copper Link is Down
  • On normal case, the below bonding messages are logged
Aug 10 15:23:14 xxxxxx kernel: bnx2: eth0 NIC Copper Link is Down
Aug 10 15:23:16 xxxxxx kernel: bonding: bond0: link status down for active interface eth0, disabling it
Aug 10 15:23:16 xxxxxx kernel: bonding: bond0: making interface eth2 the new active one
Components

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.