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
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).

  • What's the contents of your ifcfg-bond0 file? – tripledes Sep 26 '12 at 19:41

Assuming eth1 and eth5 are at least set to ONBOOT=yes (although it has no other configuration), you can use the POST_UP_SCRIPT variable in ifcfg-eth5 to call a sleep 5.

Or, the other way round, in ifcfg-bond0 set PRE_UP_SCRIPT to give eth5 some time to settle.

Compare with Suse Documentation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.