The bridge mdb show is broken on current iproute2. e.g.
]# bridge mdb show
34: br0  veth0_br  224.1.1.2  temp 34: br0  veth0_br  224.1.1.1  temp

After fix:
]# bridge mdb show
34: br0  veth0_br  224.1.1.2  temp
34: br0  veth0_br  224.1.1.1  temp

v2: Use json print lib as Stephen suggested.
v3: No need to use is_json_context() as print_string() could handle both cases.
v4: use new function print_nl() to print new line in non-json mode.

Reported-by: Ying Xu <yi...@redhat.com>
Fixes: c7c1a1ef51aea ("bridge: colorize output and use JSON print library")
Signed-off-by: Hangbin Liu <liuhang...@gmail.com>
---
 bridge/mdb.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/bridge/mdb.c b/bridge/mdb.c
index cc1b454..841a361 100644
--- a/bridge/mdb.c
+++ b/bridge/mdb.c
@@ -107,6 +107,10 @@ static void br_print_router_ports(FILE *f, struct rtattr 
*attr,
                        fprintf(f, "%s ", port_ifname);
                }
        }
+
+       if (!show_stats)
+               print_nl();
+
        close_json_array(PRINT_JSON, NULL);
 }
 
@@ -157,6 +161,8 @@ static void print_mdb_entry(FILE *f, int ifindex, const 
struct br_mdb_entry *e,
                print_string(PRINT_ANY, "timer", " %s",
                             format_timer(timer));
        }
+
+       print_nl();
        close_json_object();
 }
 
-- 
2.5.5

Reply via email to