[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Jessie] Is there a way to delay bonding interface initalization to happen after network driver is up



I have 2 machines(IBM servers). Both use bnx2 NIC driver but one is VERY
slow to boot thru kernel (2.3s vs 27s)

Config is:

auto bond508
allow-hotplug bond508

iface bond508 inet  static
    address 1.2.3.4/24
    slaves eth0.508 eth1.508
    bond-mode active-backup
    


on "fast" one it "just" works, NIC is initialized first, VLAN
interfaces are created, bond adds them and everything works

on "slow" one bond starts with no interfaces because ifup happens
before NIC driver settled (eth0/1 are not in the system), 

it looks like that

Apr 28 17:49:31 blade710 kernel: [   44.346366] bonding: Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Apr 28 17:49:31 blade710 kernel: [   44.421839] bonding: bond508 is being created...
Apr 28 17:49:31 blade710 kernel: [   44.424930] bonding: bond508: Setting xmit hash policy to layer3+4 (1)
Apr 28 17:49:31 blade710 kernel: [   44.429511] bonding: bond508: option lacp_rate: mode dependency failed, not supported in mode active-backup(1)
Apr 28 17:49:31 blade710 kernel: [   44.435247] bonding: bond508: interface eth0.508 does not exist!
Apr 28 17:49:31 blade710 kernel: [   44.440974] bonding: bond508: interface eth1.508 does not exist!
Apr 28 17:49:31 blade710 kernel: [   44.444804] IPv6: ADDRCONF(NETDEV_UP): bond508: link is not ready

then NIC boots:

Apr 28 17:49:31 blade710 kernel: [   44.492469] bnx2 0000:10:00.0: firmware: direct-loading firmware bnx2/bnx2-mips-09-6.2.1b.fw
Apr 28 17:49:31 blade710 kernel: [   44.494198] bnx2 0000:10:00.0: firmware: direct-loading firmware bnx2/bnx2-rv2p-09-6.0.17.fw
Apr 28 17:49:31 blade710 kernel: [   44.494243] bnx2 0000:10:00.0: irq 74 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.494251] bnx2 0000:10:00.0: irq 75 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.494257] bnx2 0000:10:00.0: irq 76 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.494263] bnx2 0000:10:00.0: irq 77 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.494269] bnx2 0000:10:00.0: irq 78 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.494275] bnx2 0000:10:00.0: irq 79 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.494281] bnx2 0000:10:00.0: irq 80 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.494286] bnx2 0000:10:00.0: irq 81 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.494292] bnx2 0000:10:00.0: irq 82 for MSI/MSI-X
Apr 28 17:49:31 blade710 kernel: [   44.553877] bnx2 0000:10:00.0 eth0: using MSIX
Apr 28 17:49:31 blade710 kernel: [   44.553917] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 28 17:49:31 blade710 kernel: [   44.610343] bnx2 0000:10:00.0 eth0: NIC SerDes Link is Up, 1000 Mbps full duplex

I *can* make it work on boot if I define eth interfaces separately:


iface eth0.508 inet manual
    bond-master bond508
    bond-mode active-backup

but that is not exactly pretty solution... is there a way to force
bonding interfaces to get up only after required devices are up ?


-- 
Mariusz Gronczewski, Administrator

Efigence S. A.
ul. Wołoska 9a, 02-583 Warszawa
T: [+48] 22 380 13 13
F: [+48] 22 380 13 14
E: mariusz.gronczewski@efigence.com
<mailto:mariusz.gronczewski@efigence.com>


Reply to: