Message ID | 20210221213355.1241450-8-olteanv@gmail.com |
---|---|
State | New |
Headers | show |
Series | Documentation updates for switchdev and DSA | expand |
On 2/21/2021 13:33, Vladimir Oltean wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > Add a short summary of the devlink features supported by the DSA core. > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> -- Florian
On Sun, Feb 21, 2021 at 11:33:50PM +0200, Vladimir Oltean wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > Add a short summary of the devlink features supported by the DSA core. > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> > --- > Documentation/networking/dsa/dsa.rst | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/Documentation/networking/dsa/dsa.rst b/Documentation/networking/dsa/dsa.rst > index 3c6560a43ae0..463b48714fe9 100644 > --- a/Documentation/networking/dsa/dsa.rst > +++ b/Documentation/networking/dsa/dsa.rst > @@ -394,6 +394,7 @@ DSA currently leverages the following subsystems: > - MDIO/PHY library: ``drivers/net/phy/phy.c``, ``mdio_bus.c`` > - Switchdev:``net/switchdev/*`` > - Device Tree for various of_* functions > +- Devlink: ``net/core/devlink.c`` > > MDIO/PHY library > ---------------- > @@ -433,6 +434,32 @@ more specifically with its VLAN filtering portion when configuring VLANs on top > of per-port slave network devices. As of today, the only SWITCHDEV objects > supported by DSA are the FDB and VLAN objects. > > +Devlink > +------- > + > +DSA registers one devlink device per each physical switch in the fabric. "per each" sounds wrong to my ears. per on its own is better. > +For each devlink device, every physical port (i.e. user ports, CPU ports, DSA > +links and unused ports) is exposed as a devlink port. I would probably use "or", instead of "and". > + > +DSA drivers can make use of the following devlink features: > +- Regions: debugging feature which allows user space to dump driver-defined > + areas of hardware information in a low-level, binary format. Both global > + regions as well as per-port regions are supported. Since address tables and > + VLAN tables are only inspectable by core iproute2 tools (ip-link, bridge) on > + user ports, devlink regions can be created for dumping these tables on the > + non-user ports too. You might also add that additional details which don't fit the iproute2 model can be included in regions dumps, since the format is not restricted. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
diff --git a/Documentation/networking/dsa/dsa.rst b/Documentation/networking/dsa/dsa.rst index 3c6560a43ae0..463b48714fe9 100644 --- a/Documentation/networking/dsa/dsa.rst +++ b/Documentation/networking/dsa/dsa.rst @@ -394,6 +394,7 @@ DSA currently leverages the following subsystems: - MDIO/PHY library: ``drivers/net/phy/phy.c``, ``mdio_bus.c`` - Switchdev:``net/switchdev/*`` - Device Tree for various of_* functions +- Devlink: ``net/core/devlink.c`` MDIO/PHY library ---------------- @@ -433,6 +434,32 @@ more specifically with its VLAN filtering portion when configuring VLANs on top of per-port slave network devices. As of today, the only SWITCHDEV objects supported by DSA are the FDB and VLAN objects. +Devlink +------- + +DSA registers one devlink device per each physical switch in the fabric. +For each devlink device, every physical port (i.e. user ports, CPU ports, DSA +links and unused ports) is exposed as a devlink port. + +DSA drivers can make use of the following devlink features: +- Regions: debugging feature which allows user space to dump driver-defined + areas of hardware information in a low-level, binary format. Both global + regions as well as per-port regions are supported. Since address tables and + VLAN tables are only inspectable by core iproute2 tools (ip-link, bridge) on + user ports, devlink regions can be created for dumping these tables on the + non-user ports too. +- Params: a feature which enables user to configure certain low-level tunable + knobs pertaining to the device. Drivers may implement applicable generic + devlink params, or may add new device-specific devlink params. +- Resources: a monitoring feature which enables users to see the degree of + utilization of certain hardware tables in the device, such as FDB, VLAN, etc. +- Shared buffers: a QoS feature for adjusting and partitioning memory and frame + reservations per port and per traffic class, in the ingress and egress + directions, such that low-priority bulk traffic does not impede the + processing of high-priority critical traffic. + +For more details, consult ``Documentation/networking/devlink/``. + Device Tree -----------