summaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding
diff options
context:
space:
mode:
authorDebabrata Banerjee <dbanerje@akamai.com>2018-05-10 01:32:10 +0200
committerDavid S. Miller <davem@davemloft.net>2018-05-11 17:50:41 +0200
commit4fa8667ca3989ce14cf66301fa251544fbddbdd0 (patch)
tree853030763649d09924e46df7dbd162d69bb6c7bf /drivers/net/bonding
parentMerge tag 'linux-can-fixes-for-4.17-20180510' of ssh://gitolite.kernel.org/pu... (diff)
downloadlinux-4fa8667ca3989ce14cf66301fa251544fbddbdd0.tar.xz
linux-4fa8667ca3989ce14cf66301fa251544fbddbdd0.zip
bonding: do not allow rlb updates to invalid mac
Make sure multicast, broadcast, and zero mac's cannot be the output of rlb updates, which should all be directed arps. Receive load balancing will be collapsed if any of these happen, as the switch will broadcast. Signed-off-by: Debabrata Banerjee <dbanerje@akamai.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r--drivers/net/bonding/bond_alb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index 1ed9529e7bd1..3f6faa657360 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -450,7 +450,7 @@ static void rlb_update_client(struct rlb_client_info *client_info)
{
int i;
- if (!client_info->slave)
+ if (!client_info->slave || !is_valid_ether_addr(client_info->mac_dst))
return;
for (i = 0; i < RLB_ARP_BURST_SIZE; i++) {