Re: [PATCH net-next v4 04/12] bridge: mrp: Extend br_mrp for MRP interconnect

From: Nikolay Aleksandrov
Date: Tue Jul 14 2020 - 09:15:26 EST


On 14/07/2020 10:34, Horatiu Vultur wrote:
> This patch extends the 'struct br_mrp' to contain information regarding
> the MRP interconnect. It contains the following:
> - the interconnect port 'i_port', which is NULL if the node doesn't have
> a interconnect role
> - the interconnect id, which is similar with the ring id, but this field
> is also part of the MRP_InTest frames.
> - the interconnect role, which can be MIM or MIC.
> - the interconnect state, which can be open or closed.
> - the interconnect delayed_work for sending MRP_InTest frames and check
> for lost of continuity.
>
> Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
> ---
> net/bridge/br_private_mrp.h | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>

Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx>

> diff --git a/net/bridge/br_private_mrp.h b/net/bridge/br_private_mrp.h
> index 315eb37d89f0f..8841ba847fb29 100644
> --- a/net/bridge/br_private_mrp.h
> +++ b/net/bridge/br_private_mrp.h
> @@ -12,8 +12,10 @@ struct br_mrp {
>
> struct net_bridge_port __rcu *p_port;
> struct net_bridge_port __rcu *s_port;
> + struct net_bridge_port __rcu *i_port;
>
> u32 ring_id;
> + u16 in_id;
> u16 prio;
>
> enum br_mrp_ring_role_type ring_role;
> @@ -21,6 +23,11 @@ struct br_mrp {
> enum br_mrp_ring_state_type ring_state;
> u32 ring_transitions;
>
> + enum br_mrp_in_role_type in_role;
> + u8 in_role_offloaded;
> + enum br_mrp_in_state_type in_state;
> + u32 in_transitions;
> +
> struct delayed_work test_work;
> u32 test_interval;
> unsigned long test_end;
> @@ -28,6 +35,12 @@ struct br_mrp {
> u32 test_max_miss;
> bool test_monitor;
>
> + struct delayed_work in_test_work;
> + u32 in_test_interval;
> + unsigned long in_test_end;
> + u32 in_test_count_miss;
> + u32 in_test_max_miss;
> +
> u32 seq_id;
>
> struct rcu_head rcu;
>