net: bonding: replace dev_trans_start() with the jiffies of the last ARP/NS
authorVladimir Oltean <vladimir.oltean@nxp.com>
Sun, 31 Jul 2022 12:41:05 +0000 (15:41 +0300)
committerJakub Kicinski <kuba@kernel.org>
Thu, 4 Aug 2022 02:20:12 +0000 (19:20 -0700)
commit06799a9085e12a778fe2851db550ab5911ad28fe
treeef4ea93c41d047816fe97ce25ec2d9f7a40130dd
parentf86d1fbbe7858884d6754534a0afbb74fc30bc26
net: bonding: replace dev_trans_start() with the jiffies of the last ARP/NS

The bonding driver piggybacks on time stamps kept by the network stack
for the purpose of the netdev TX watchdog, and this is problematic
because it does not work with NETIF_F_LLTX devices.

It is hard to say why the driver looks at dev_trans_start() of the
slave->dev, considering that this is updated even by non-ARP/NS probes
sent by us, and even by traffic not sent by us at all (for example PTP
on physical slave devices). ARP monitoring in active-backup mode appears
to still work even if we track only the last TX time of actual ARP
probes.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Acked-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/bonding/bond_main.c
include/net/bonding.h