diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index 846a82ba905d..ae0a0d6fea9d 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -2561,7 +2561,7 @@ static void evpn_show_route_vni_multicast(struct vty *vty, struct bgp *bgp, /* Prefix and num paths displayed once per prefix. */ route_vty_out_detail_header(vty, bgp, dest, bgp_dest_get_prefix(dest), - NULL, afi, safi, json, false); + NULL, afi, safi, json, false, true); /* Display each path for this prefix. */ for (pi = bgp_dest_get_bgp_path_info(dest); pi; pi = pi->next) { @@ -2663,7 +2663,7 @@ static void evpn_show_route_vni_macip(struct vty *vty, struct bgp *bgp, /* Prefix and num paths displayed once per prefix. */ route_vty_out_detail_header(vty, bgp, dest, (struct prefix *)&p, NULL, - afi, safi, json, false); + afi, safi, json, false, true); evp = (const struct prefix_evpn *)bgp_dest_get_prefix(dest); @@ -2798,7 +2798,7 @@ static void evpn_show_route_rd_macip(struct vty *vty, struct bgp *bgp, /* Prefix and num paths displayed once per prefix. */ route_vty_out_detail_header(vty, bgp, dest, bgp_dest_get_prefix(dest), - prd, afi, safi, json, false); + prd, afi, safi, json, false, false); if (json) json_paths = json_object_new_array(); @@ -2907,7 +2907,7 @@ static void evpn_show_route_rd(struct vty *vty, struct bgp *bgp, /* Prefix and num paths displayed once per prefix. */ route_vty_out_detail_header( vty, bgp, dest, bgp_dest_get_prefix(dest), prd, - afi, safi, json_prefix, false); + afi, safi, json_prefix, false, false); prefix_cnt++; } @@ -3044,7 +3044,7 @@ static void evpn_show_route_rd_all_macip(struct vty *vty, struct bgp *bgp, /* Prefix and num paths displayed once per prefix. */ route_vty_out_detail_header( vty, bgp, dest, p, (struct prefix_rd *)rd_destp, - AFI_L2VPN, SAFI_EVPN, json_prefix, false); + AFI_L2VPN, SAFI_EVPN, json_prefix, false, false); /* For EVPN, the prefix is displayed for each path (to * fit in with code that already exists). @@ -3201,7 +3201,7 @@ static void evpn_show_all_routes(struct vty *vty, struct bgp *bgp, int type, vty, bgp, dest, bgp_dest_get_prefix(dest), (struct prefix_rd *)rd_destp, AFI_L2VPN, - SAFI_EVPN, json_prefix, false); + SAFI_EVPN, json_prefix, false, false); /* For EVPN, the prefix is displayed for each path (to * fit in diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index d726edcc9f9a..1ec36320d229 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -11528,7 +11528,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, afi_t afi, safi_t sa bgp_dest_get_prefix( dest), prd, table->afi, safi, - NULL, false); + NULL, false, false); route_vty_out_detail( vty, bgp, dest, dest_p, pi, @@ -11604,7 +11604,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, afi_t afi, safi_t sa route_vty_out_detail_header( vty, bgp, dest, bgp_dest_get_prefix(dest), prd, - table->afi, safi, json_paths, true); + table->afi, safi, json_paths, true, false); vty_out(vty, "\"paths\": "); json_detail_header_used = true; @@ -11810,7 +11810,7 @@ void route_vty_out_detail_header(struct vty *vty, struct bgp *bgp, struct bgp_dest *dest, const struct prefix *p, const struct prefix_rd *prd, afi_t afi, safi_t safi, json_object *json, - bool incremental_print) + bool incremental_print, bool local_table) { struct bgp_path_info *pi; struct peer *peer; @@ -12028,8 +12028,12 @@ void route_vty_out_detail_header(struct vty *vty, struct bgp *bgp, json_object_object_add(json, "advertisedTo", json_adv_to); } else { - if (!json && first) - vty_out(vty, " Not advertised to any peer"); + if (!json && first) { + if (!local_table) + vty_out(vty, " Not advertised to any peer"); + else + vty_out(vty, " Local BGP table not advertised"); + } vty_out(vty, "\n"); } } @@ -12071,7 +12075,7 @@ static void bgp_show_path_info(const struct prefix_rd *pfx_rd, route_vty_out_detail_header( vty, bgp, bgp_node, bgp_dest_get_prefix(bgp_node), pfx_rd, AFI_IP, - safi, json_header, false); + safi, json_header, false, false); header = 0; } (*display)++; diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index 2d82f0f206f7..d2b989c838ca 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -898,7 +898,8 @@ extern void route_vty_out_detail_header(struct vty *vty, struct bgp *bgp, const struct prefix *p, const struct prefix_rd *prd, afi_t afi, safi_t safi, json_object *json, - bool incremental_print); + bool incremental_print, + bool local_table); extern void route_vty_out_detail(struct vty *vty, struct bgp *bgp, struct bgp_dest *bn, const struct prefix *p, struct bgp_path_info *path, afi_t afi,