bridge: mrp: Extend br_mrp_fill_info
authorHoratiu Vultur <horatiu.vultur@microchip.com>
Tue, 14 Jul 2020 07:34:57 +0000 (09:34 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jul 2020 20:46:43 +0000 (13:46 -0700)
This patch extends the function br_mrp_fill_info to return also the
status for the interconnect ring.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_mrp_netlink.c

index a006e0771e8d32f23a51dcead6dd0eec23565b8a..2a2fdf3500c5bae51d0e9a92dfa2d7bd7d1d5176 100644 (file)
@@ -474,6 +474,11 @@ int br_mrp_fill_info(struct sk_buff *skb, struct net_bridge *br)
                                     p->dev->ifindex))
                        goto nla_put_failure;
 
+               p = rcu_dereference(mrp->i_port);
+               if (p && nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_I_IFINDEX,
+                                    p->dev->ifindex))
+                       goto nla_put_failure;
+
                if (nla_put_u16(skb, IFLA_BRIDGE_MRP_INFO_PRIO,
                                mrp->prio))
                        goto nla_put_failure;
@@ -493,6 +498,19 @@ int br_mrp_fill_info(struct sk_buff *skb, struct net_bridge *br)
                                mrp->test_monitor))
                        goto nla_put_failure;
 
+               if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_IN_STATE,
+                               mrp->in_state))
+                       goto nla_put_failure;
+               if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_IN_ROLE,
+                               mrp->in_role))
+                       goto nla_put_failure;
+               if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_IN_TEST_INTERVAL,
+                               mrp->in_test_interval))
+                       goto nla_put_failure;
+               if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_IN_TEST_MAX_MISS,
+                               mrp->in_test_max_miss))
+                       goto nla_put_failure;
+
                nla_nest_end(skb, tb);
        }
        nla_nest_end(skb, mrp_tb);