From 026b914a402fd59f900fa386d8fbcfacbafb7f62 Mon Sep 17 00:00:00 2001 From: Philippe Guibert Date: Fri, 6 Apr 2018 13:17:16 +0200 Subject: [PATCH] bgpd: the nexthop IP is displayed for FS entries. Most presumably, the nexthop IP is present, only when ECOM redirect IP is present. The nexthop is displayed. Signed-off-by: Philippe Guibert --- bgpd/bgp_flowspec_vty.c | 3 +++ bgpd/bgp_route.c | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/bgpd/bgp_flowspec_vty.c b/bgpd/bgp_flowspec_vty.c index 247da5d183..7bf11f12aa 100644 --- a/bgpd/bgp_flowspec_vty.c +++ b/bgpd/bgp_flowspec_vty.c @@ -312,6 +312,9 @@ void route_vty_out_flowspec(struct vty *vty, struct prefix *p, json_object_array_add(json_paths, json_ecom_path); } + if (attr->nexthop.s_addr != 0 && + display == NLRI_STRING_FORMAT_LARGE) + vty_out(vty, "\tNH %-16s\n", inet_ntoa(attr->nexthop)); XFREE(MTYPE_ECOMMUNITY_STR, s); } peer_uptime(binfo->uptime, timebuf, BGP_UPTIME_LEN, 0, NULL); diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 944ae5b5dc..bd7b9964fb 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -6545,8 +6545,20 @@ void route_vty_out(struct vty *vty, struct prefix *p, struct bgp_info *binfo, } else vty_out(vty, "%-16s", inet_ntoa(attr->nexthop)); } else if (safi == SAFI_FLOWSPEC) { - /* already done */ - /* IPv4 Next Hop */ + if (attr->nexthop.s_addr != 0) { + if (json_paths) { + json_nexthop_global = json_object_new_object(); + json_object_string_add( + json_nexthop_global, "ip", + inet_ntoa(attr->nexthop)); + json_object_string_add(json_nexthop_global, + "afi", "ipv4"); + json_object_boolean_true_add(json_nexthop_global, + "used"); + } else { + vty_out(vty, "%-16s", inet_ntoa(attr->nexthop)); + } + } } else if (p->family == AF_INET && !BGP_ATTR_NEXTHOP_AFI_IP6(attr)) { if (json_paths) { json_nexthop_global = json_object_new_object(); -- 2.39.5