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.
Details:
# 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: 7.6.15.5-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).
