Re: [PATCH net-next v3 0/5] bridge: mrp: Extend br_mrp_switchdev_*
From: Horatiu Vultur <horatiu.vultur@microchip.com>
Date: 2021-02-10 12:20:57
Also in:
bridge, lkml
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:quoted
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