]> git.itanic.dy.fi Git - linux-stable/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Sep 2022 08:47:18 +0000 (10:47 +0200)
commit53d3c40591ad632fda84e3a5fb004ca8862c8d2d
treea51003ff0ccd8eec13add3c1ff1ce0997f4b3082
parent1749fdc24c54fd90ab1197d2f20c7273acd1136f
net: bonding: replace dev_trans_start() with the jiffies of the last ARP/NS

[ Upstream commit 06799a9085e12a778fe2851db550ab5911ad28fe ]

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>
Stable-dep-of: 592335a4164c ("bonding: accept unsolicited NA message")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/bonding/bond_main.c
include/net/bonding.h