bonding: always update last_arp_rx on packet recieve
authorVeaceslav Falico <[email protected]>
Tue, 18 Feb 2014 06:48:38 +0000 (07:48 +0100)
committerDavid S. Miller <[email protected]>
Tue, 18 Feb 2014 21:47:14 +0000 (16:47 -0500)
Currently we're updating the last_arp_rx only when we've validate the
packet, however afterwards we use it as 'ANY last packet received', but not
only validated ARPs.

Fix this by updating it in case of any packet received. It won't break the
arp_validation=0 because we, anyway, return the correct slave->dev->last_rx in
slave_last_rx().

CC: Jay Vosburgh <[email protected]>
CC: Andy Gospodarek <[email protected]>
Signed-off-by: Veaceslav Falico <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
drivers/net/bonding/bond_main.c

index 91c024862c80dfcf1e923fd77e3df6e7d22e90a2..7747cc5c62eb980f8bd4f46c283f96b1f7549673 100644 (file)
@@ -2257,6 +2257,8 @@ int bond_arp_rcv(const struct sk_buff *skb, struct bonding *bond,
        __be32 sip, tip;
        int alen;
 
+       slave->last_arp_rx = jiffies;
+
        if (skb->protocol != __cpu_to_be16(ETH_P_ARP))
                return RX_HANDLER_ANOTHER;