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 1ed9529..3f6faa6 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++) {