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)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 May 2018 15:50:41 +0000 (11:50 -0400)
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>
drivers/net/bonding/bond_alb.c

index 1ed9529e7bd1de923697731dc0db0ceaa926ef1f..3f6faa6573601ed32b12c6d81907e0ba667b85fd 100644 (file)
@@ -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++) {