diff options
Diffstat (limited to 'bgpd/bgp_nexthop.c')
-rw-r--r-- | bgpd/bgp_nexthop.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c index a3014c0c6..00a0bc840 100644 --- a/bgpd/bgp_nexthop.c +++ b/bgpd/bgp_nexthop.c @@ -802,6 +802,7 @@ static void bgp_show_nexthop_paths(struct vty *vty, struct bgp *bgp, safi = table->safi; bgp_path = table->bgp; + if (json) { json_path = json_object_new_object(); json_object_string_add(json_path, "afi", afi2str(afi)); @@ -811,7 +812,8 @@ static void bgp_show_nexthop_paths(struct vty *vty, struct bgp *bgp, dest); if (dest->pdest) json_object_string_addf( - json_path, "rd", "%pRD", + json_path, "rd", + BGP_RD_AS_FORMAT(bgp->asnotation), (struct prefix_rd *)bgp_dest_get_prefix( dest->pdest)); json_object_string_add( @@ -821,13 +823,14 @@ static void bgp_show_nexthop_paths(struct vty *vty, struct bgp *bgp, json_object_array_add(paths, json_path); continue; } - if (dest->pdest) - vty_out(vty, " %d/%d %pBD RD %pRD %s flags 0x%x\n", - afi, safi, dest, + if (dest->pdest) { + vty_out(vty, " %d/%d %pBD RD ", afi, safi, dest); + vty_out(vty, BGP_RD_AS_FORMAT(bgp->asnotation), (struct prefix_rd *)bgp_dest_get_prefix( - dest->pdest), - bgp_path->name_pretty, path->flags); - else + dest->pdest)); + vty_out(vty, " %s flags 0x%x\n", bgp_path->name_pretty, + path->flags); + } else vty_out(vty, " %d/%d %pBD %s flags 0x%x\n", afi, safi, dest, bgp_path->name_pretty, path->flags); } |