summaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding
diff options
context:
space:
mode:
authorVeaceslav Falico <vfalico@redhat.com>2014-02-18 07:48:38 +0100
committerDavid S. Miller <davem@davemloft.net>2014-02-18 22:47:14 +0100
commit6db4a54593ce12423c68155b7b59b9fbd3e6519d (patch)
treea2ebb9ceb2717fa00f655437acee54e8bc93e60e /drivers/net/bonding
parentbonding: permit using arp_validate with non-ab modes (diff)
downloadlinux-6db4a54593ce12423c68155b7b59b9fbd3e6519d.tar.xz
linux-6db4a54593ce12423c68155b7b59b9fbd3e6519d.zip
bonding: always update last_arp_rx on packet recieve
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 <fubar@us.ibm.com> CC: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Veaceslav Falico <vfalico@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r--drivers/net/bonding/bond_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 91c024862c80..7747cc5c62eb 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -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;