** 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@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@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 Bugs, which is subscribed to 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 -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
