Why does bonding fail to get the slave speed and duplex ?

Solution Unverified - Updated -

Environment

  • Red Hat Enterprise Linux 4
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6

Issue

  • The following message is displayed in the logs :

    bonding: bond0: Warning: failed to get speed and duplex from eth2, assumed to be 100Mb/sec and Full
    

Resolution

  • This message is harmless, and does not affect the actual speed of the bonded interface.

Root Cause

  • When bonding enslave (attach or detach) the slave NIC, the module will  use ethtool to get information from the NIC, when this information is  not fetched, the above message is printed.

  • If ethtool can get the information or not is dependent on the NIC driver.

Diagnostic Steps

  • The relevant code snippet is :

./drivers/net/bonding/bond_main.c#L602

1472        if (bond_update_speed_duplex(new_slave) &&
1473            (new_slave->link != BOND_LINK_DOWN)) {
1474                printk(KERN_WARNING DRV_NAME
1475                       ": %s: Warning: failed to get speed and duplex from %s, "
1476                       "assumed to be 100Mb/sec and Full.\n",
1477                       bond_dev->name, new_slave->dev->name);

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.