[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220716133009.eaqthcfyz4bcbjbd@skbuf>
Date: Sat, 16 Jul 2022 13:30:10 +0000
From: Vladimir Oltean <vladimir.oltean@....com>
To: Jakub Kicinski <kuba@...nel.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>, Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Jonathan Toppins <jtoppins@...hat.com>,
Jay Vosburgh <j.vosburgh@...il.com>,
Veaceslav Falico <vfalico@...il.com>,
Hangbin Liu <liuhangbin@...il.com>,
Brian Hutchinson <b.hutchman@...il.com>
Subject: Re: [PATCH net] net: dsa: fix bonding with ARP monitoring by updating
trans_start manually
On Fri, Jul 15, 2022 at 05:55:16PM -0700, Jakub Kicinski wrote:
> On Sat, 16 Jul 2022 00:26:13 +0000 Vladimir Oltean wrote:
> > > Make bonding not depend on a field which is only valid for HW devices
> > > which use the Tx watchdog. Let me find the thread...
> > > https://lore.kernel.org/all/20220621213823.51c51326@kernel.org/
> >
> > That won't work in the general case with dsa_slave_get_stats64(), which
> > may take the stats from hardware (delayed) or from dev_get_tstats64().
>
> Ah, that's annoying.
>
> > Also, not to mention that ARP monitoring used to work before the commit
> > I blamed, this is a punctual fix for a regression.
>
> trans_start is for the watchdog. This is the third patch pointlessly
> messing with trans_start while the bug is in bonding. It's trying to
> piggy back on semantics which are not universally true.
>
> Fix bonding please.
I would need some assistance from Jay or other people more familiar with
bonding to do that. I'm not exactly clear which packets the bonding
driver wants to check they have been transmitted in the last interval:
ARP packets? any packets? With DSA and switchdev drivers in general,
they have an offloaded forwarding path as well, so expect that what you
get through ndo_get_stats64 may also report packets which egressed a
physical port but weren't originated by the network stack.
I simply don't know what is a viable substitute for dev_trans_start()
because I don't understand very well what it intends to capture.
Powered by blists - more mailing lists