From e78a049c490939be87fa0f5c8c5443b51996d2ab Mon Sep 17 00:00:00 2001 From: Philippe Guibert Date: Wed, 22 Jan 2025 15:35:06 +0100 Subject: [PATCH] bgpd: fix missing braces when dumping json vpn advertised-routes The json output of advertised-routes is incorrect, as there is a missing brace with route-distinguisher: observed with the bgp_vpnv4_noretain test: > "bgpTableVersion":0,"bgpLocalRouterId":"192.0.2.1","defaultLocPrf":100,"localAS":65500, > "advertisedRoutes": "192.0.2.1:1":{"rd":"192.0.2.1:1","10.101.0.0/24":{"prefix":"10.101.0.0/24", expected: > "bgpTableVersion":0,"bgpLocalRouterId":"192.0.2.1","defaultLocPrf":100,"localAS":65500, > "advertisedRoutes": { "192.0.2.1:1":{"rd":"192.0.2.1:1","10.101.0.0/24":{"prefix":"10.101.0.0/24", > ^ > missing brace Fix this by adding the missing braces. Fixes: 4838bac033a7 ("bgpd: neighbors received-routes/advertised-routes stringify changes") Signed-off-by: Philippe Guibert --- bgpd/bgp_route.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 672c43b37c..c8bd3217f7 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -15239,7 +15239,7 @@ static int peer_adj_routes(struct vty *vty, struct peer *peer, afi_t afi, if (type == bgp_show_adj_route_advertised || type == bgp_show_adj_route_received) { if (first) { - vty_out(vty, "\"%s\":", rd_str); + vty_out(vty, "{\"%s\":", rd_str); first = false; } else { vty_out(vty, ",\"%s\":", rd_str); @@ -15253,6 +15253,8 @@ static int peer_adj_routes(struct vty *vty, struct peer *peer, afi_t afi, output_count += output_count_per_rd; filtered_count += filtered_count_per_rd; } + if (first == false && json_routes) + vty_out(vty, "}"); } else { show_adj_route(vty, peer, table, afi, safi, type, rmap_name, json, json_ar, show_flags, &header1, &header2, -- 2.39.5