]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: ensure that TLB mode's active slave has correct mac filter
authorVeaceslav Falico <vfalico@redhat.com>
Mon, 7 Oct 2013 07:17:20 +0000 (09:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 8 Oct 2013 20:06:39 +0000 (16:06 -0400)
commitcc61fa992cc19d3e7090c2e76733cd275b2712f9
tree43e37dc27f94f49a21314b25506f89bc07e9b986
parente600de0d98cd05b8fcafc7585d24d17969a0e3a1
bonding: ensure that TLB mode's active slave has correct mac filter

Currently, in TLB mode we change mac addresses only by memcpy-ing the to
net_device->dev_addr, without actually setting them via
dev_set_mac_address(). This permits us to receive all the traffic always on
one mac address.

However, in case the interface flips, some drivers might enforce the
mac filtering for its FW/HW based on current ->dev_addr, and thus we won't
be able to receive traffic on that interface, in case it will be selected
as active in TLB mode.

Fix it by setting the mac address forcefully on every new active slave that
we select in TLB mode.

CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
CC: Yuval Mintz <yuvalmin@broadcom.com>
Reported-by: Yuval Mintz <yuvalmin@broadcom.com>
Tested-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_alb.c