Message ID | 20210316112419.1304230-1-olteanv@gmail.com |
---|---|
Headers | show |
Series | Documentation updates for switchdev and DSA | expand |
On Tue, Mar 16, 2021 at 01:24:19PM +0200, Vladimir Oltean wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > The "bridge fdb add" command provided in the switchdev documentation is > junk now, not only because it is syntactically incorrect and rejected by > the iproute2 bridge program, but also because it was not updated in > light of Arkadi Sharshevsky's radical switchdev refactoring in commit > 29ab586c3d83 ("net: switchdev: Remove bridge bypass support from > switchdev"). Try to explain what the intended usage pattern is with the > new kernel implementation. > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com>
The 03/16/2021 13:24, Vladimir Oltean wrote: > > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > Add a short summary of the methods that a driver writer must implement > for getting an MRP instance to work on top of a DSA switch. > > Cc: Horatiu Vultur <horatiu.vultur@microchip.com> > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> > --- > Documentation/networking/dsa/dsa.rst | 30 ++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/Documentation/networking/dsa/dsa.rst b/Documentation/networking/dsa/dsa.rst > index e8576e81735c..0daafa2fb9eb 100644 > --- a/Documentation/networking/dsa/dsa.rst > +++ b/Documentation/networking/dsa/dsa.rst > @@ -757,6 +757,36 @@ can optionally populate ``ds->num_lag_ids`` from the ``dsa_switch_ops::setup`` > method. The LAG ID associated with a bonding/team interface can then be > retrieved by a DSA switch driver using the ``dsa_lag_id`` function. > > +IEC 62439-2 (MRP) > +----------------- > + > +The Media Redundancy Protocol is a topology management protocol optimized for > +fast fault recovery time for ring networks, which has some components > +implemented as a function of the bridge driver. MRP uses management PDUs > +(Test, Topology, LinkDown/Up, Option) sent at a multicast destination MAC > +address range of 01:15:4e:00:00:0x and with an EtherType of 0x88e3. > +Depending on the node's role in the ring (MRM: Media Redundancy Manager, > +MRC: Media Redundancy Client, MRA: Media Redundancy Automanager), certain MRP > +PDUs might need to be terminated locally and others might need to be forwarded. > +An MRM might also benefit from offloading to hardware the creation and > +transmission of certain MRP PDUs (Test). > + > +Normally an MRP instance can be created on top of any network interface, > +however in the case of a device with an offloaded data path such as DSA, it is > +necessary for the hardware, even if it is not MRP-aware, to be able to extract > +the MRP PDUs from the fabric before the driver can proceed with the software > +implementation. DSA today has no driver which is MRP-aware, therefore it only > +listens for the bare minimum switchdev objects required for the software assist > +to work properly. The operations are detailed below. > + > +- ``port_mrp_add`` and ``port_mrp_del``: notifies driver when an MRP instance > + with a certain ring ID, priority, primary port and secondary port is > + created/deleted. > +- ``port_mrp_add_ring_role`` and ``port_mrp_del_ring_role``: function invoked > + when an MRP instance changes ring roles between MRM or MRC. This affects > + which MRP PDUs should be trapped to software and which should be autonomously > + forwarded. > + > TODO > ==== > > -- > 2.25.1 > Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>
From: Vladimir Oltean <vladimir.oltean@nxp.com> Many changes were made to the code but of course the documentation was not kept up to date. This is an attempt to update some of the verbiage. The documentation is still not complete, but it's time to make some more changes to the code first, before documenting the rest. Changes in v2: Integrated feedback from Andrew, Florian, Tobias, Ido, George. Florian Fainelli (1): Documentation: networking: switchdev: clarify device driver behavior Vladimir Oltean (11): Documentation: networking: update the graphical representation Documentation: networking: dsa: rewrite chapter about tagging protocol Documentation: networking: dsa: remove static port count from limitations Documentation: networking: dsa: remove references to switchdev prepare/commit Documentation: networking: dsa: remove TODO about porting more vendor drivers Documentation: networking: dsa: document the port_bridge_flags method Documentation: networking: dsa: mention integration with devlink Documentation: networking: dsa: add paragraph for the LAG offload Documentation: networking: dsa: add paragraph for the MRP offload Documentation: networking: dsa: add paragraph for the HSR/PRP offload Documentation: networking: switchdev: fix command for static FDB entries Documentation/networking/dsa/dsa.rst | 371 +++++++++++++++++++++---- Documentation/networking/switchdev.rst | 199 ++++++++++++- 2 files changed, 500 insertions(+), 70 deletions(-)