Messages in this thread | | | From | Jay Vosburgh <> | Subject | Re: [PATCH] bonding: Inactive slaves should keep inactive flag's value to 1. | Date | Thu, 20 Mar 2014 10:02:33 -0700 |
| |
Zheng Li <zheng.x.li@oracle.com> wrote:
>Except bond mode 1, in other bond modes, inactive slaves should keep >inactive flag to 1 to refuse to receive broadcast packets. Now, active >slave send broadcast packets (for example ARP requests) which will >arrive inactive slaves on same host from switch, but inactive slave's >inactive flag is zero that cause bridge receive the broadcast packets >to produce a wrong entry in forward table. Typical situation is domu >send some ARP request which go out from dom0 bond's active slave, then >the ARP broadcast request packets go back to inactive slave from >switch, because the inactive slave's inactive flag is zero, kernel will >receive the packets and pass them to bridge, that cause dom0's bridge >map domu's MAC address to port of bond, bridge should map domu's MAC to >port of vif.
I suspect this will break LACP (802.3ad) and Etherchannel (balance-xor, balance-rr) modes, as those modes can receive broadcast or multicast on any slave. In those cases, the switch knows about the aggregation, and will only send the broadcast / multicast to one of the ports, but the port selected is not always the same one.
In which mode are you having trouble?
-J
> >Signed-off-by: Zheng Li <zheng.x.li@oracle.com> >--- > drivers/net/bonding/bond_main.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > >diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c >index e5628fc..2f73f18 100644 >--- a/drivers/net/bonding/bond_main.c >+++ b/drivers/net/bonding/bond_main.c >@@ -3063,7 +3063,7 @@ static int bond_open(struct net_device *bond_dev) > bond_set_slave_inactive_flags(slave, > BOND_SLAVE_NOTIFY_NOW); > } else { >- bond_set_slave_active_flags(slave, >+ bond_set_slave_state(slave, BOND_STATE_ACTIVE, > BOND_SLAVE_NOTIFY_NOW); > } > } >-- >1.7.6.5 >
--- -Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
| |