All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 net 0/4] Make DSA work with bonding's ARP monitor
@ 2022-07-31 12:41 Vladimir Oltean
  2022-07-31 12:41 ` [PATCH v3 net 1/4] net: bonding: replace dev_trans_start() with the jiffies of the last ARP/NS Vladimir Oltean
                   ` (5 more replies)
  0 siblings, 6 replies; 22+ messages in thread
From: Vladimir Oltean @ 2022-07-31 12:41 UTC (permalink / raw)
  To: netdev
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Andrew Lunn, Vivien Didelot, Florian Fainelli, Jonathan Toppins,
	Jay Vosburgh, Veaceslav Falico, Andy Gospodarek, Hangbin Liu,
	Jamal Hadi Salim, Cong Wang, Jiri Pirko, Nikolay Aleksandrov,
	Stephen Hemminger

Since commit 2b86cb829976 ("net: dsa: declare lockless TX feature for
slave ports") in v5.7, DSA breaks the ARP monitoring logic from the
bonding driver, fact which was pointed out by Brian Hutchinson who uses
a linux-5.10.y stable kernel.

Initially I got lured by other similar hacks introduced for other
NETIF_F_LLTX drivers, which, inspired by the bonding documentation,
update the trans_start of their TX queues by hand.

However Jakub pointed out that this simply isn't a proper solution, and
after coming to think more about it, I agree, and it doesn't work
properly with DSA nor is it maintainable for the future changes I plan
for it (multiple DSA masters in a LAG).

I've tested these changes using a DSA-based setup and a veth-based
setup, using the active-backup mode and ARP monitoring, with and without
arp_validate.

Where I'd need some help from Jakub is to make sure these changes
somehow get integrated into the 5.10 stable kernel, since that's what
Brian, who reported the issue, actually uses. I haven't provided any
Fixes tags.

More testing and other feedback is welcome.

Link to v1:
https://patchwork.kernel.org/project/netdevbpf/patch/20220715232641.952532-1-vladimir.oltean@nxp.com/

Link to v2:
https://patchwork.kernel.org/project/netdevbpf/patch/20220727152000.3616086-1-vladimir.oltean@nxp.com/

Vladimir Oltean (4):
  net: bonding: replace dev_trans_start() with the jiffies of the last
    ARP/NS
  net/sched: remove hacks added to dev_trans_start() for bonding to work
  Revert "veth: Add updating of trans_start"
  docs: net: bonding: remove mentions of trans_start

 Documentation/networking/bonding.rst |  9 -------
 drivers/net/bonding/bond_main.c      | 35 ++++++++++++++++------------
 drivers/net/veth.c                   |  4 ----
 include/net/bonding.h                | 13 ++++++++++-
 net/sched/sch_generic.c              |  8 ++-----
 5 files changed, 34 insertions(+), 35 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2022-08-04  2:40 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-31 12:41 [PATCH v3 net 0/4] Make DSA work with bonding's ARP monitor Vladimir Oltean
2022-07-31 12:41 ` [PATCH v3 net 1/4] net: bonding: replace dev_trans_start() with the jiffies of the last ARP/NS Vladimir Oltean
2022-07-31 18:53   ` Jay Vosburgh
2022-07-31 19:13     ` Vladimir Oltean
2022-08-02  1:04       ` Jay Vosburgh
2022-08-02  1:45         ` Vladimir Oltean
2022-08-02  9:05           ` Paolo Abeni
2022-08-02 16:11             ` Jakub Kicinski
2022-08-02 16:29               ` Jay Vosburgh
2022-08-02 16:30               ` Vladimir Oltean
2022-08-02 17:33                 ` Paolo Abeni
2022-08-02 18:00                   ` Jay Vosburgh
2022-08-02 19:10                     ` Jakub Kicinski
2022-08-02 20:24                       ` Jay Vosburgh
2022-08-02 20:33                         ` Jakub Kicinski
2022-08-02 20:34                         ` Paolo Abeni
2022-07-31 12:41 ` [PATCH v3 net 2/4] net/sched: remove hacks added to dev_trans_start() for bonding to work Vladimir Oltean
2022-07-31 12:41 ` [PATCH v3 net 3/4] Revert "veth: Add updating of trans_start" Vladimir Oltean
2022-07-31 12:41 ` [PATCH v3 net 4/4] docs: net: bonding: remove mentions of trans_start Vladimir Oltean
2022-08-01 17:58 ` [PATCH v3 net 0/4] Make DSA work with bonding's ARP monitor Jakub Kicinski
2022-08-01 23:39   ` Vladimir Oltean
2022-08-04  2:40 ` patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.