forked from Mirror/frr
bgpd: add 'detail' option to bestpath-routes
Introduce 'detail' keyword for 'show bgp <afi> <safi> bestpath-routes'. Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
This commit is contained in:
parent
5a77b9d61d
commit
aa9bf57eb8
|
@ -14199,6 +14199,8 @@ show_adj_route(struct vty *vty, struct peer *peer, struct bgp_table *table,
|
||||||
header2, json, json_scode,
|
header2, json, json_scode,
|
||||||
json_ocode, wide, detail);
|
json_ocode, wide, detail);
|
||||||
|
|
||||||
|
const struct prefix *rn_p = bgp_dest_get_prefix(dest);
|
||||||
|
|
||||||
for (pi = bgp_dest_get_bgp_path_info(dest); pi;
|
for (pi = bgp_dest_get_bgp_path_info(dest); pi;
|
||||||
pi = pi->next) {
|
pi = pi->next) {
|
||||||
if (pi->peer != peer)
|
if (pi->peer != peer)
|
||||||
|
@ -14207,10 +14209,23 @@ show_adj_route(struct vty *vty, struct peer *peer, struct bgp_table *table,
|
||||||
if (!CHECK_FLAG(pi->flags, BGP_PATH_SELECTED))
|
if (!CHECK_FLAG(pi->flags, BGP_PATH_SELECTED))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
route_vty_out_tmp(vty, dest,
|
if (detail) {
|
||||||
bgp_dest_get_prefix(dest),
|
if (use_json)
|
||||||
pi->attr, safi, use_json,
|
json_net =
|
||||||
json_ar, wide);
|
json_object_new_object();
|
||||||
|
bgp_show_path_info(
|
||||||
|
NULL /* prefix_rd */, dest, vty,
|
||||||
|
bgp, afi, safi, json_net,
|
||||||
|
BGP_PATH_SHOW_BESTPATH,
|
||||||
|
&display, RPKI_NOT_BEING_USED);
|
||||||
|
if (use_json)
|
||||||
|
json_object_object_addf(
|
||||||
|
json_ar, json_net,
|
||||||
|
"%pFX", rn_p);
|
||||||
|
} else
|
||||||
|
route_vty_out_tmp(
|
||||||
|
vty, dest, rn_p, pi->attr, safi,
|
||||||
|
use_json, json_ar, wide);
|
||||||
(*output_count)++;
|
(*output_count)++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14401,7 +14416,7 @@ CPP_NOTICE("Drop `bgpOriginCodes` from JSON outputs")
|
||||||
|
|
||||||
DEFPY (show_ip_bgp_instance_neighbor_bestpath_route,
|
DEFPY (show_ip_bgp_instance_neighbor_bestpath_route,
|
||||||
show_ip_bgp_instance_neighbor_bestpath_route_cmd,
|
show_ip_bgp_instance_neighbor_bestpath_route_cmd,
|
||||||
"show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] neighbors <A.B.C.D|X:X::X:X|WORD> bestpath-routes [json$uj | wide$wide]",
|
"show [ip] bgp [<view|vrf> VIEWVRFNAME] [" BGP_AFI_CMD_STR " [" BGP_SAFI_WITH_LABEL_CMD_STR "]] neighbors <A.B.C.D|X:X::X:X|WORD> bestpath-routes [detail$detail] [json$uj | wide$wide]",
|
||||||
SHOW_STR
|
SHOW_STR
|
||||||
IP_STR
|
IP_STR
|
||||||
BGP_STR
|
BGP_STR
|
||||||
|
@ -14413,6 +14428,7 @@ DEFPY (show_ip_bgp_instance_neighbor_bestpath_route,
|
||||||
"Neighbor to display information about\n"
|
"Neighbor to display information about\n"
|
||||||
"Neighbor on BGP configured interface\n"
|
"Neighbor on BGP configured interface\n"
|
||||||
"Display the routes selected by best path\n"
|
"Display the routes selected by best path\n"
|
||||||
|
"Display detailed version of routes\n"
|
||||||
JSON_STR
|
JSON_STR
|
||||||
"Increase table width for longer prefixes\n")
|
"Increase table width for longer prefixes\n")
|
||||||
{
|
{
|
||||||
|
@ -14426,6 +14442,9 @@ DEFPY (show_ip_bgp_instance_neighbor_bestpath_route,
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
uint16_t show_flags = 0;
|
uint16_t show_flags = 0;
|
||||||
|
|
||||||
|
if (detail)
|
||||||
|
SET_FLAG(show_flags, BGP_SHOW_OPT_ROUTES_DETAIL);
|
||||||
|
|
||||||
if (uj)
|
if (uj)
|
||||||
SET_FLAG(show_flags, BGP_SHOW_OPT_JSON);
|
SET_FLAG(show_flags, BGP_SHOW_OPT_JSON);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue