]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bonding: rlb mode of bond should not alter ARP originating via bridge
authorzheng.li <zheng.x.li@oracle.com>
Tue, 27 Nov 2012 23:57:04 +0000 (23:57 +0000)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Wed, 12 Dec 2012 20:47:40 +0000 (12:47 -0800)
commitd18ee1ed459d39b0802bb6f6911ce6c367da571a
tree1e1fe60dd8e7845bd4578a344cc12e8c37346abb
parentf21e7371763c2984ea2f937bfc03277ddbe00bb7
bonding: rlb mode of bond should not alter ARP originating via bridge

Orabug: 14650975
Do not modify or load balance ARP packets passing through balance-alb
mode (wherein the ARP did not originate locally, and arrived via a bridge).

Modifying pass-through ARP replies causes an incorrect MAC address
to be placed into the ARP packet, rendering peers unable to communicate
with the actual destination from which the ARP reply originated.

Load balancing pass-through ARP requests causes an entry to be
created for the peer in the rlb table, and bond_alb_monitor will
occasionally issue ARP updates to all peers in the table instrucing them
as to which MAC address they should communicate with; this occurs when
some event sets rx_ntt.  In the bridged case, however, the MAC address
used for the update would be the MAC of the slave, not the actual source
MAC of the originating destination.  This would render peers unable to
communicate with the destinations beyond the bridge.

Signed-off-by: Zheng Li <zheng.x.li@oracle.com>
Cc: Jay Vosburgh <fubar@us.ibm.com>
Cc: Andy Gospodarek <andy@greyhouse.net>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Conflicts:
drivers/net/bonding/bonding.h
drivers/net/bonding/bond_alb.c
drivers/net/bonding/bonding.h