We've encountered a problem with bonding on 2.6 that did not exist on 2.4. Here's the details: 1) Configure bonding with: activebackup, miimon, and assign a primary interface. Use a short miimon time, such as 100ms. 2) The primary interface needs to use polling to determine the link state (e.g. tulip). 3) Disconnect the link to the primary interface, and wait for the interface polling to determine the interface is down (for tulip, it's 60 seconds). Bonding will failover to the backup within the miimon interval, but you have to wait for the interface's driver to notice the link is down. 4) Reconnect the primary interface. Bonding will not assign the reconnected interface as primary. The root problem: After the interface's driver has determined the interface is down, it sets the interface's state to down. When the interface is reconnected, bonding sees the link go back up, however the interface's driver will not, since it is polling, and has to wait for the next polling interval (for tulip, it's 3 seconds to go from down to up). Bonding determines that the link is up, but the interface is not, so it does not assign it as primary. After the interface's polling interval, the interface driver sets the up flag for the interface, but since there is no change in the link status, bonding doesn't do anything. In the 2.4 version of the driver, the interface state was always checked when the bond link was up. Does anyone have any ideas of how to fix this using just flags? e.g. Would setting the updelay to be greater the interface driver's polling time cause it to recognize it? Thanks, Charlie Brett - HP OSLO -- Charlie Brett <cfb@xxxxxx> - To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html