From: Philippe Guibert Date: Fri, 20 Dec 2024 07:47:04 +0000 (+0100) Subject: bgpd: display rpki state in 'show bgp ipvX detail' X-Git-Tag: base_10.3~117^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=24302c25d3533712dc7914932a9e9cac1453574b;p=mirror%2Ffrr.git bgpd: display rpki state in 'show bgp ipvX detail' The rpki current state was ignored when calling for the 'show bgp ipvX detail' command. Handle the support for this, with json support too. > "rpkiValidationState" : "valid", > "rpkiValidationState" : "invalid", > "rpkiValidationState" : "not used", > "rpkiValidationState" : "not found", Signed-off-by: Philippe Guibert Signed-off-by: Dmytro Shytyi --- diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index bd2fda56fc..7645c67734 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -11975,14 +11975,13 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, afi_t afi, safi_t sa continue; } - if (type == bgp_show_type_rpki) { - if (dest_p->family == AF_INET - || dest_p->family == AF_INET6) - rpki_curr_state = hook_call( - bgp_rpki_prefix_status, - pi->peer, pi->attr, dest_p); - if (rpki_target_state != RPKI_NOT_BEING_USED - && rpki_curr_state != rpki_target_state) + if ((dest_p->family == AF_INET || dest_p->family == AF_INET6) && + (detail_routes || detail_json || type == bgp_show_type_rpki)) { + rpki_curr_state = hook_call(bgp_rpki_prefix_status, pi->peer, + pi->attr, dest_p); + if (type == bgp_show_type_rpki && + rpki_target_state != RPKI_NOT_BEING_USED && + rpki_curr_state != rpki_target_state) continue; } @@ -12213,7 +12212,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, afi_t afi, safi_t sa route_vty_out_detail(vty, bgp, dest, dest_p, pi, family2afi(dest_p->family), safi, - RPKI_NOT_BEING_USED, json_paths, NULL); + rpki_curr_state, json_paths, NULL); } else { route_vty_out(vty, dest_p, pi, display, safi, json_paths, wide);