On one of my servers I set up a bond-device consisting of an onboard network-card and an PCIe network card. (eth1 and eth5)
I set up the configugration according to
man ifcfg-bonding - i.e. eth1 and eth5 will not be brought up on system boot, but bond0 will do this.
Now the problem seems to be that eth5 takes too long to establish a link. Result is a running bond0 consisting of eth1 and eth5, but eth5 link is down.
If I do a manual
ifconfig eth5 up in this situation, eth5 will have a link and everything will be ok.
# cat /proc/net/bonding/pbond0 Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Slave Interface: eth5 MII Status: up Link Failure Count: 0 # ethtool -i eth1 driver: bnx2 version: 2.0.18-suse firmware-version: 6.2.16 bc 5.0.4 UMP 1.1.9 # ethtool -i eth5 driver: e1000 version: 18.104.22.168-NAPI firmware-version: 5.6-2
The solution might be to give eth5 more time to settle the link during boot. This is propably very OS-specific (here: SLES10 SP4).