[Bug 889423] Re: 802.3ad bonding not configured correctly
Stéphane Graber
stgraber at stgraber.org
Thu Feb 9 21:00:28 UTC 2012
** Description changed:
- 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
+ SRU instructions (from comment 41 and 46):
+ === bridge-utils ===
+ So there are two things to test with that new bridge-utils:
+ 1) Bridge interface with bridge-ports set instead of bridge_ports works too
+ 2) Bridging a non-existing vlan interface will now create it
- 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)
+ These two are in the udev hooks, so need to be tested by creating a
+ network interface, like a tap device (using uml-utilities to create it).
- 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
+ Test for 1)
+ - Make sure uml-utilities and bridge-utils are both installed
+ - Add the following entry to /etc/network/interfaces:
+ auto br0
+ iface br0 inet static
+ address 192.168.1.1
+ netmask 255.255.255.0
+ bridge-ports eth9
+ - Create the tap device: tunctl -t eth9
+ - Check that the bridge has been created and the interface added to it (bridge shouldn't have an IP configuration at this point):
+ root at castiana:~# brctl show br0
+ bridge name bridge id STP enabled interfaces
+ br0 8000.1a6bffdb2551 no eth9
- 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)
+ The previous release wouldn't do anything unless you were using
+ bridge_ports.
- 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
+ Test for 2)
+ - Make sure uml-utilities, bridge-utils and vlan are all intalled
+ - Add the following entry to /etc/network/interfaces:
+ auto br0
+ iface br0 inet static
+ address 192.168.1.1
+ netmask 255.255.255.0
+ bridge-ports eth9.1010
+ - Create the tap device: tunctl -t eth9
+ - Check that the bridge has been created and the interface added to it (bridge shouldn't have an IP configuration at this point):
+ root at castiana:~# brctl show br0
+ bridge name bridge id STP enabled interfaces
+ br0 8000.06c2192d61ab no eth9.1010
- 802.3ad info
- LACP rate: fast
- Aggregator selection policy (ad_select): stable
- bond bond0 has no active aggregator
+ The previous release would create the bridge but not add the port to it
+ as the tag interface wouldn't exist.
- 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
+ Between each test, cleanup with:
+ - tunctl -d eth9
+ - ifconfig br0 down
+ - brctl delbr br0
- 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
+ The use of eth9 instead of tap0 is done on purpose as the vlan script
+ explicitly checks for interfaces with eth, bond or wlan in their name.
- 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)
+ === vlan ===
+ Here's a quick example of how to test the new vlan package:
- # cat /proc/net/bonding/bond0
- Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
+ - Make sure uml-utilities and vlan are installed
+ - Add the following entry to /etc/network/interfaces:
+ auto eth9.1010
+ iface eth9.1010 inet static
+ address 192.168.1.1
+ netmask 255.255.255.0
+ - Create the tap device: tunctl -t eth9
+ - Check that the vlan interface has been created and configured correctly: ifconfig eth9.1010
+ eth9.1010 Link encap:Ethernet HWaddr ce:51:62:98:16:78
+ inet addr:192.168.1.1 Bcast:0.0.0.0 Mask:255.255.255.0
+ UP BROADCAST 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)
- 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
+ Prior to this update, vlan interface creation would be racy as it'd
+ depend on the catch all networking.conf job to initialise eth9.1010 with
+ the race being that this job would be triggered before eth9 actually
+ exists.
- 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
+ === ifenslave-2.6 ===
+ TODO: Using setup from original description before/after should work but I'll comment with a simplified testcase when I have a minute.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to bridge-utils in Ubuntu.
https://bugs.launchpad.net/bugs/889423
Title:
802.3ad bonding not configured correctly
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bridge-utils/+bug/889423/+subscriptions
More information about the Ubuntu-server-bugs
mailing list