zebra: Allow 'show ip route...' to display uptime for all routes

Display uptime for all route types instead of just for RIP,
OSPFv2, ISIS, NHRP, TABLE? and BGP routes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-09-12 14:58:10 -04:00
parent eaf5150f58
commit 14a481d916

View File

@ -408,11 +408,6 @@ static void vty_show_ip_route_detail(struct vty *vty, struct route_node *rn,
vty_out(vty, ", best");
vty_out(vty, "\n");
if (re->type == ZEBRA_ROUTE_RIP || re->type == ZEBRA_ROUTE_OSPF
|| re->type == ZEBRA_ROUTE_ISIS
|| re->type == ZEBRA_ROUTE_NHRP
|| re->type == ZEBRA_ROUTE_TABLE
|| re->type == ZEBRA_ROUTE_BGP) {
time_t uptime;
struct tm *tm;
@ -433,7 +428,6 @@ static void vty_show_ip_route_detail(struct vty *vty, struct route_node *rn,
tm->tm_yday - ((tm->tm_yday / 7) * 7),
tm->tm_hour);
vty_out(vty, " ago\n");
}
for (ALL_NEXTHOPS(re->nexthop, nexthop)) {
char addrstr[32];
@ -557,6 +551,12 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn,
json_object *json_nexthop = NULL;
json_object *json_route = NULL;
json_object *json_labels = NULL;
time_t uptime;
struct tm *tm;
uptime = time(NULL);
uptime -= re->uptime;
tm = gmtime(&uptime);
if (json) {
json_route = json_object_new_object();
@ -583,18 +583,6 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn,
json_object_int_add(json_route, "metric", re->metric);
}
if (re->type == ZEBRA_ROUTE_RIP || re->type == ZEBRA_ROUTE_OSPF
|| re->type == ZEBRA_ROUTE_ISIS
|| re->type == ZEBRA_ROUTE_NHRP
|| re->type == ZEBRA_ROUTE_TABLE
|| re->type == ZEBRA_ROUTE_BGP) {
time_t uptime;
struct tm *tm;
uptime = time(NULL);
uptime -= re->uptime;
tm = gmtime(&uptime);
if (uptime < ONE_DAY_SECOND)
sprintf(buf, "%02d:%02d:%02d", tm->tm_hour,
tm->tm_min, tm->tm_sec);
@ -607,7 +595,6 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn,
tm->tm_hour);
json_object_string_add(json_route, "uptime", buf);
}
for (ALL_NEXTHOPS(re->nexthop, nexthop)) {
json_nexthop = json_object_new_object();
@ -876,18 +863,6 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn,
sizeof buf, 1));
}
if (re->type == ZEBRA_ROUTE_RIP || re->type == ZEBRA_ROUTE_OSPF
|| re->type == ZEBRA_ROUTE_ISIS
|| re->type == ZEBRA_ROUTE_NHRP
|| re->type == ZEBRA_ROUTE_TABLE
|| re->type == ZEBRA_ROUTE_BGP) {
time_t uptime;
struct tm *tm;
uptime = time(NULL);
uptime -= re->uptime;
tm = gmtime(&uptime);
if (uptime < ONE_DAY_SECOND)
vty_out(vty, ", %02d:%02d:%02d", tm->tm_hour,
tm->tm_min, tm->tm_sec);
@ -898,7 +873,6 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn,
vty_out(vty, ", %02dw%dd%02dh", tm->tm_yday / 7,
tm->tm_yday - ((tm->tm_yday / 7) * 7),
tm->tm_hour);
}
vty_out(vty, "\n");
}
}