diff options
author | Horatiu Vultur <horatiu.vultur@microchip.com> | 2020-05-30 21:09:48 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-06-01 21:56:11 +0300 |
commit | c6676e7d62cfb5cb7c1c5320a26f3634a11afdb0 (patch) | |
tree | ac66bfc38aaea7b6f0cd6dfc0cd4a0a884e88a4d /include/net | |
parent | 4b3a61b030d1131dcf3633a276158a3d0a435a47 (diff) | |
download | linux-c6676e7d62cfb5cb7c1c5320a26f3634a11afdb0.tar.xz |
bridge: mrp: Add support for role MRA
A node that has the MRA role, it can behave as MRM or MRC.
Initially it starts as MRM and sends MRP_Test frames on both ring ports.
If it detects that there are MRP_Test send by another MRM, then it
checks if these frames have a lower priority than itself. In this case
it would send MRP_Nack frames to notify the other node that it needs to
stop sending MRP_Test frames.
If it receives a MRP_Nack frame then it stops sending MRP_Test frames
and starts to behave as a MRC but it would continue to monitor the
MRP_Test frames send by MRM. If at a point the MRM stops to send
MRP_Test frames it would get the MRM role and start to send MRP_Test
frames.
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/switchdev.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/switchdev.h b/include/net/switchdev.h index f82ef4c45f5e..b8c059b4e06d 100644 --- a/include/net/switchdev.h +++ b/include/net/switchdev.h @@ -130,6 +130,7 @@ struct switchdev_obj_ring_test_mrp { u8 max_miss; u32 ring_id; u32 period; + bool monitor; }; #define SWITCHDEV_OBJ_RING_TEST_MRP(OBJ) \ |