Re: [PATCH net 0/2] MRP without hardware offload?

From: Horatiu Vultur
Date: Wed Dec 23 2020 - 13:16:03 EST


The 12/23/2020 15:45, Rasmus Villemoes wrote:
>
> Hi Horatiu and net folks

Hi Rasmus,

>
> I'm having quite some trouble getting MRP working in a simple setup
> involving three mv88e6250 switches in a ring, with one node set as
> manager and the other two as clients.
>
> I'm reasonably confident these two patches are necessary and correct
> (though the second one affects quite a bit more than MRP, so comments
> welcome), but they are not sufficient - for example, I'm wondering
> about why there doesn't seem to be any code guarding against sending a
> test packet back out the port it came in.
>
> I have tried applying a few more patches, but since the end result
> still doesn't seem to result in a working MRP setup, I'm a bit out of
> ideas, and not proposing any of those yet.
>
> Has anyone managed to set up an MRP ring with no hardware offload
> support? I'm using commit 9030e898a2f232fdb4a3b2ec5e91fa483e31eeaf
> from https://github.com/microchip-ung/mrp.git and kernel v5.10.2.

I was expecting that you still need to do something in the switchdev
callbacks. Because otherwise I expect that the HW will flood these
frames. For a client I was expecting to add a MDB entry and have the
ring ports in this entry. While for a manager you can have also an MDB
where the host joined and could return -EOPNOTSUPP so then the SW will
detect when it stops receiving these frames.

Most of my tests where done when there was not HW offload at all(no
switchdev) or when there was MRP hardware offload.

>
> Rasmus Villemoes (2):
> net: mrp: fix definitions of MRP test packets
> net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP
>
> include/uapi/linux/mrp_bridge.h | 4 ++--
> net/switchdev/switchdev.c | 23 +++++++++++++----------
> 2 files changed, 15 insertions(+), 12 deletions(-)
>
> --
> 2.23.0
>

--
/Horatiu