Re: [PATCH net-next v3 0/5] bridge: mrp: Extend br_mrp_switchdev_*
From: Vladimir Oltean
Date: Wed Feb 10 2021 - 05:23:18 EST
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
>
Which net-next commit can these patches be applied to? On the current
master I get:
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".