]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: add rpki json attributes to bgp path 17670/head
authorPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 18 Dec 2024 17:27:55 +0000 (18:27 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Thu, 19 Dec 2024 16:14:36 +0000 (17:14 +0100)
Add missing json attribute to BGP path.

Fixes: 82c298be7354 ("bgpd: Show RPKI short state in `show bgp <afi> <safi>`")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
bgpd/bgp_route.c

index 7c3dd234a231a55b30c6c93ebc1ac00f8fa19686..e142d966186c67d950bbf3c76b74641113ae3734 100644 (file)
@@ -9361,9 +9361,18 @@ static void route_vty_short_status_out(struct vty *vty,
                                       const struct prefix *p,
                                       json_object *json_path)
 {
-       enum rpki_states rpki_state = RPKI_NOT_BEING_USED;
+       enum rpki_states rpki_state;
+
+       /* RPKI validation state */
+       rpki_state = hook_call(bgp_rpki_prefix_status, path->peer, path->attr, p);
 
        if (json_path) {
+               if (rpki_state == RPKI_VALID)
+                       json_object_boolean_true_add(json_path, "rpkiValid");
+               else if (rpki_state == RPKI_INVALID)
+                       json_object_boolean_true_add(json_path, "rpkiInvalid");
+               else if (rpki_state == RPKI_NOTFOUND)
+                       json_object_boolean_true_add(json_path, "rpkiNotFound");
 
                /* Route status display. */
                if (CHECK_FLAG(path->flags, BGP_PATH_REMOVED))
@@ -9411,10 +9420,6 @@ static void route_vty_short_status_out(struct vty *vty,
                return;
        }
 
-       /* RPKI validation state */
-       rpki_state =
-               hook_call(bgp_rpki_prefix_status, path->peer, path->attr, p);
-
        if (rpki_state == RPKI_VALID)
                vty_out(vty, "V");
        else if (rpki_state == RPKI_INVALID)