Bug 31822 - bonding inside a bridge does not work when using arp monitoring
Summary: bonding inside a bridge does not work when using arp monitoring
Status: RESOLVED OBSOLETE
Alias: None
Product: Networking
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Arnaldo Carvalho de Melo
URL: https://bugs.launchpad.net/ubuntu/+so...
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-24 15:17 UTC by Leonardo Borda
Modified: 2012-08-20 15:15 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.38-7-server
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Leonardo Borda 2011-03-24 15:17:22 UTC
Overview:
Description: Ubuntu 10.04.2 LTS
Release: 10.04
Kernel tested: 2.6.38-7-server kernel

Public bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/736226

Bonding + bridge does not work when bonding mode is set to active-backup and arp monitoring is enabled. (bond_arp_ip_target and bond_arp_interval)
There is a reported patch for this problem on: http://kerneltrap.org/mailarchive/linux-netdev/2010/4/28/6275890
Please read redhat's related bug: https://bugzilla.redhat.com/show_bug.cgi?id=584872
PS: This issue is also seen on the latest kernels 2.6.35-25-server.

Reproducible: 100%
How to reproduce the problem

1. Install ifenslave
$ sudo apt-get install ethtool

2. Install bridge utils
$ sudo apt-get install bridge-utils

3. Use the following /etc/network/interfaces sample.
auto lo
iface lo inet loopback

auto bond0
iface bond0 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    bond-slaves none
    bond-mode active-backup
    bond_arp_ip_target 10.153.107.1
    bond_arp_interval 100

auto eth0
allow-bond0 eth0
iface eth0 inet manual
    bond-master bond0

auto eth1
allow-bond0 eth1
iface eth1 inet manual
    bond-master bond0

auto bond0.100
iface bond0.100 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    vlan-raw-device bond0

auto bond0.200
iface bond0.200 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    vlan-raw-device bond0

auto br0
iface br0 inet static
    address 10.153.107.110
    netmask 255.255.255.0
    gateway 10.153.107.1
    bridge_ports bond0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

auto br0-100
iface br0-100 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    bridge_ports bond0.100
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

auto br0-200
iface br0-200 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    bridge_ports bond0.200
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

Reboot the server. You won't be able to ping the br0 interface anymore.

Workaround:

Disable bond_arp_ip_target and bond_arp_interval and use MII monitoring. As follow below:

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    bond-slaves none
    bond-mode active-backup
    bond-downdelay 250
    bond-updelay 120

auto eth0
allow-bond0 eth0
iface eth0 inet manual
    bond-master bond0

auto eth1
allow-bond0 eth1
iface eth1 inet manual
    bond-master bond0

auto bond0.100
iface bond0.100 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    vlan-raw-device bond0

auto bond0.200
iface bond0.200 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    vlan-raw-device bond0

auto br0
iface br0 inet static
    address 10.153.107.110
    netmask 255.255.255.0
    gateway 10.153.107.1
    bridge_ports bond0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

auto br0-100
iface br0-100 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    bridge_ports bond0.100
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

auto br0-200
iface br0-200 inet manual
    post-up ifconfig $IFACE up
    pre-down ifconfig $IFACE down
    bridge_ports bond0.200
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

Leonardo Borda
Comment 1 Leonardo Borda 2011-05-25 14:48:26 UTC
Hi Arnaldo,

I see that this bug has been assigned to you.
Let me know if you need more information about this problem.

Leonardo
Comment 2 Alan 2012-08-20 15:15:35 UTC
Closing as obsolete, if this is still seen please re-open and post info to netdev@vger.kernel.org

Note You need to log in before you can comment on or make changes to this bug.