[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