diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index 5ad5cf8bff3b..8a9f606427fb 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -3033,6 +3033,21 @@ static void evpn_show_all_routes(struct vty *vty, struct bgp *bgp, int type, } } +int bgp_evpn_show_all_routes(struct vty *vty, struct bgp *bgp, int type, + bool use_json, int detail) +{ + json_object *json = NULL; + + if (use_json) + json = json_object_new_object(); + + evpn_show_all_routes(vty, bgp, type, json, detail); + + if (use_json) + vty_json(vty, json); + return CMD_SUCCESS; +} + /* * Display specified VNI (vty handler) */ diff --git a/bgpd/bgp_evpn_vty.h b/bgpd/bgp_evpn_vty.h index 137365ddbf27..662ef3e40302 100644 --- a/bgpd/bgp_evpn_vty.h +++ b/bgpd/bgp_evpn_vty.h @@ -36,4 +36,7 @@ extern int argv_find_and_parse_oly_idx(struct cmd_token **argv, int argc, extern int bgp_evpn_cli_parse_type(int *type, struct cmd_token **argv, int argc); +extern int bgp_evpn_show_all_routes(struct vty *vty, struct bgp *bgp, int type, + bool use_json, int detail); + #endif /* _QUAGGA_BGP_EVPN_VTY_H */ diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 7ea5a903cd00..1f555ee30085 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -11572,6 +11572,9 @@ static int bgp_show(struct vty *vty, struct bgp *bgp, afi_t afi, safi_t safi, 1, NULL, NULL); } + if (safi == SAFI_EVPN) + return bgp_evpn_show_all_routes(vty, bgp, type, use_json, 0); + return bgp_show_table(vty, bgp, safi, table, type, output_arg, NULL, 1, NULL, NULL, &json_header_depth, show_flags, rpki_target_state);