]> git.hungrycats.org Git - linux/commitdiff
bonding: do not allow rlb updates to invalid mac
authorDebabrata Banerjee <dbanerje@akamai.com>
Wed, 9 May 2018 23:32:10 +0000 (19:32 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 May 2018 08:54:52 +0000 (10:54 +0200)
[ Upstream commit 4fa8667ca3989ce14cf66301fa251544fbddbdd0 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/bonding/bond_alb.c

index 4a69284570151e7e55c2c374ab073ba9b5ac7df7..bb54622f6f17a0c578a49dca8f0cc6f8a4588435 100644 (file)
@@ -453,7 +453,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++) {