From: Nikolay Aleksandrov <niko...@nvidia.com>

Print the mdb entry's protocol (i.e. who added it)  when it's available if
the user requested to show details (-d). Currently the only possible
values are RTPROT_STATIC (user-space added) or RTPROT_KERNEL
(automatically added by kernel). The value is kernel controlled.

Signed-off-by: Nikolay Aleksandrov <niko...@nvidia.com>
---
 bridge/mdb.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/bridge/mdb.c b/bridge/mdb.c
index b3b58a2385ca..4cd7ca762b78 100644
--- a/bridge/mdb.c
+++ b/bridge/mdb.c
@@ -203,6 +203,13 @@ static void print_mdb_entry(FILE *f, int ifindex, const 
struct br_mdb_entry *e,
                        }
                        close_json_array(PRINT_JSON, NULL);
                }
+               if (tb[MDBA_MDB_EATTR_RTPROT]) {
+                       __u8 rtprot = rta_getattr_u8(tb[MDBA_MDB_EATTR_RTPROT]);
+                       SPRINT_BUF(rtb);
+
+                       print_string(PRINT_ANY, "protocol", " proto %s ",
+                                    rtnl_rtprot_n2a(rtprot, rtb, sizeof(rtb)));
+               }
        }
 
        open_json_array(PRINT_JSON, "flags");
-- 
2.25.4

Reply via email to