[Bug 889423] Re: 802.3ad bonding not configured correctly
Stéphane Graber
stgraber at stgraber.org
Fri Dec 2 01:36:59 UTC 2011
Hmm, ok, I'm a bit surprised that bond0 still doesn't get added to the
bridge.
What's supposed to happen with that new ifenslave at boot time is:
1) One of the network card gets detected and sends a udev event
2) Upstart picks up the event and brings up the interface
3) As the interface is part of a bond, bond0 is brought up first
4) Usually around that time, the second interface is detected and also triggers upstart
5) This card is put on hold waiting for the bond to be ready
6) bond0 is done initialising
7) The first network card is added as a slave
8) bond0 is now up and ready with one slave and can be bridged from this point on
9) The second network card is added as a slave
10) All of eth0, eth1 and bond0 are now up and working
11) At some point later in the boot sequence, "ifup -a" is called by the networking.conf upstart job, creating br0.
So it's not completely impossible that 11) actually happens before 8)
but that'd most likely be cause by something taking a lot longer than it
should when initialising the bond or the interfaces.
Did you happen to see brctl's error message?
It could be two things:
1) Complaining that bond0 doesn't exist
2) Saying Operation not permitted, meaning that bond0 exists but has no slaves and so no mac address at this point
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/889423
Title:
802.3ad bonding not configured correctly
Status in “ifupdown” package in Ubuntu:
Confirmed
Bug description:
Configuring an 802.3ad bond doesn't appear to work correctly. The following entry in /etc/network/interfaces should configure an 802.3ad bond between interfaces eth2 and eth3:
#auto bond0
iface bond0 inet static
address 10.191.62.2
netmask 255.255.255.0
broadcast 10.191.62.255
bond-slaves eth2 eth3
bond-primary eth2 eth3
bond-mode 802.3ad
bond-lacp_rate fast
bond-miimon 100
However, after booting the system, we have:
# ifconfig -a
bond0 Link encap:Ethernet HWaddr 00:1b:21:b7:21:ea
inet addr:10.191.62.2 Bcast:10.191.62.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:feb7:21ea/64 Scope:Link
UP BROADCAST MASTER MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth2 Link encap:Ethernet HWaddr 00:1b:21:b7:21:ea
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:b2420000-b2440000
eth3 Link encap:Ethernet HWaddr 00:1b:21:b7:21:ea
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:b2400000-b2420000
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: down
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
802.3ad info
LACP rate: fast
Aggregator selection policy (ad_select): stable
bond bond0 has no active aggregator
Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:1b:21:b7:21:ea
Aggregator ID: N/A
Slave queue ID: 0
Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:1b:21:b7:21:eb
Aggregator ID: N/A
Slave queue ID: 0
If I do the following:
# ip link set dev bond0 up
# ifenslave bond0 eth2 eth3
# ifconfig bond0 10.191.62.2 netmask 255.255.255.0
I get:
# ifconfig bond0
bond0 Link encap:Ethernet HWaddr 00:1b:21:b7:21:ea
inet addr:10.191.62.2 Bcast:10.191.62.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:feb7:21ea/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:17 errors:0 dropped:17 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2108 (2.1 KB) TX bytes:3126 (3.1 KB)
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
802.3ad info
LACP rate: fast
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
Aggregator ID: 1
Number of ports: 2
Actor Key: 17
Partner Key: 24
Partner Mac Address: 00:04:96:18:54:d5
Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1b:21:b7:21:ea
Aggregator ID: 1
Slave queue ID: 0
Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1b:21:b7:21:eb
Aggregator ID: 1
Slave queue ID: 0
I can ping 10.191.62.2 after making the above changes. So, either I am
configuring /etc/network/interfaces incorrectly or ifupdown/ifenslave
is doing the wrong thing.
Note also the number of dropped packages on bond0. Why should I see
any dropped packages on the bond0 interface?
DistroRelease: Ubuntu 11.10
Package: ifupdown 0.7~alpha5.1ubuntu5
PackageArchitecture: amd64
ProcEnviron:
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 3.0.0-12.20-server 3.0.4
SourcePackage: ifupdown
Uname: Linux 3.0.0-12-server x86_64
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/889423/+subscriptions
More information about the foundations-bugs
mailing list