[Bridge] [PATCH net-next v3 0/5] bridge: mrp: Extend br_mrp_switchdev_*

Horatiu Vultur horatiu.vultur at microchip.com
Wed Feb 10 12:15:16 UTC 2021


The 02/10/2021 10:08, Vladimir Oltean wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Hi Horatiu,
> 
> On Tue, Feb 09, 2021 at 09:21:07PM +0100, Horatiu Vultur wrote:
> > This patch series extends MRP switchdev to allow the SW to have a better
> > understanding if the HW can implement the MRP functionality or it needs
> > to help the HW to run it. There are 3 cases:
> > - when HW can't implement at all the functionality.
> > - when HW can implement a part of the functionality but needs the SW
> >   implement the rest. For example if it can't detect when it stops
> >   receiving MRP Test frames but it can copy the MRP frames to CPU to
> >   allow the SW to determine this.  Another example is generating the MRP
> >   Test frames. If HW can't do that then the SW is used as backup.
> > - when HW can implement completely the functionality.
> >
> > So, initially the SW tries to offload the entire functionality in HW, if
> > that fails it tries offload parts of the functionality in HW and use the
> > SW as helper and if also this fails then MRP can't run on this HW.
> >
> > Also implement the switchdev calls for Ocelot driver. This is an example
> > where the HW can't run completely the functionality but it can help the SW
> > to run it, by trapping all MRP frames to CPU.
> >
> > v3:
> >  - implement the switchdev calls needed by Ocelot driver.
> > v2:
> >  - fix typos in comments and in commit messages
> >  - remove some of the comments
> >  - move repeated code in helper function
> >  - fix issue when deleting a node when sw_backup was true
> >
> > Horatiu Vultur (5):
> >   switchdev: mrp: Extend ring_role_mrp and in_role_mrp
> >   bridge: mrp: Add 'enum br_mrp_hw_support'
> >   bridge: mrp: Extend br_mrp_switchdev to detect better the errors
> >   bridge: mrp: Update br_mrp to use new return values of
> >     br_mrp_switchdev
> >   net: mscc: ocelot: Add support for MRP
> >
> >  drivers/net/ethernet/mscc/ocelot_net.c     | 154 +++++++++++++++++++
> >  drivers/net/ethernet/mscc/ocelot_vsc7514.c |   6 +
> >  include/net/switchdev.h                    |   2 +
> >  include/soc/mscc/ocelot.h                  |   6 +
> >  net/bridge/br_mrp.c                        |  43 ++++--
> >  net/bridge/br_mrp_switchdev.c              | 171 +++++++++++++--------
> >  net/bridge/br_private_mrp.h                |  38 +++--
> >  7 files changed, 327 insertions(+), 93 deletions(-)
> >
> > --
> > 2.27.0
> >
> 

Hi Vladimir,

> Which net-next commit can these patches be applied to? On the current
> master I get:

Sorry for this. I had an extra patch when I created these patches. And
based on this I have added the patch series. This extra patch was this
one:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=b2bdba1cbc84

Which was already applied to net. And I wanted to have it to be able to
do more complete test of this patch series. Next time I should be more
careful with this.

> 
> Applying: switchdev: mrp: Extend ring_role_mrp and in_role_mrp
> Applying: bridge: mrp: Add 'enum br_mrp_hw_support'
> Applying: bridge: mrp: Extend br_mrp_switchdev to detect better the errors
> error: patch failed: net/bridge/br_mrp_switchdev.c:177
> error: net/bridge/br_mrp_switchdev.c: patch does not apply
> Patch failed at 0004 bridge: mrp: Extend br_mrp_switchdev to detect better the errors
> hint: Use 'git am --show-current-patch' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".

-- 
/Horatiu


More information about the Bridge mailing list