diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index b2a45ca42d7d..e29a8a65ba5b 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -3255,6 +3255,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 6b17a83b7428..8901644d73d9 100644 --- a/bgpd/bgp_evpn_vty.h +++ b/bgpd/bgp_evpn_vty.h @@ -42,4 +42,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 f4ef0a88f99a..fcdb22869267 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -11589,6 +11589,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);