mbox series

[net,0/2] MRP without hardware offload?

Message ID 20201223144533.4145-1-rasmus.villemoes@prevas.dk
Headers show
Series MRP without hardware offload? | expand

Message

Rasmus Villemoes Dec. 23, 2020, 2:45 p.m. UTC
Hi Horatiu and net folks

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.

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(-)

Comments

Horatiu Vultur Dec. 23, 2020, 6:14 p.m. UTC | #1
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
>