Messages in this thread | | | Date | Wed, 26 Jan 2022 23:00:00 +0200 | From | Vladimir Oltean <> | Subject | Re: [RFC PATCH v7 01/16] net: dsa: provide switch operations for tracking the master state |
| |
On Tue, Jan 25, 2022 at 07:22:51PM -0800, Florian Fainelli wrote: > > > On 1/22/2022 5:33 PM, Ansuel Smith wrote: > > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > > > Certain drivers may need to send management traffic to the switch for > > things like register access, FDB dump, etc, to accelerate what their > > slow bus (SPI, I2C, MDIO) can already do. > > > > Ethernet is faster (especially in bulk transactions) but is also more > > unreliable, since the user may decide to bring the DSA master down (or > > not bring it up), therefore severing the link between the host and the > > attached switch. > > > > Drivers needing Ethernet-based register access already should have > > fallback logic to the slow bus if the Ethernet method fails, but that > > fallback may be based on a timeout, and the I/O to the switch may slow > > down to a halt if the master is down, because every Ethernet packet will > > have to time out. The driver also doesn't have the option to turn off > > Ethernet-based I/O momentarily, because it wouldn't know when to turn it > > back on. > > > > Which is where this change comes in. By tracking NETDEV_CHANGE, > > NETDEV_UP and NETDEV_GOING_DOWN events on the DSA master, we should know > > the exact interval of time during which this interface is reliably > > available for traffic. Provide this information to switches so they can > > use it as they wish. > > > > An helper is added dsa_port_master_is_operational() to check if a master > > port is operational.
"The DSA master is able to pass traffic when it was brought administratively up and is also operationally up. We introduce a helper function named dsa_port_master_is_operational() which checks for the proper conditions on a CPU port's DSA master."
> > > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> > -- > Florian
| |