mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 22:26:14 +00:00
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:
parent
eaf5150f58
commit
14a481d916
@ -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, ", best");
|
||||||
vty_out(vty, "\n");
|
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;
|
time_t uptime;
|
||||||
struct tm *tm;
|
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_yday - ((tm->tm_yday / 7) * 7),
|
||||||
tm->tm_hour);
|
tm->tm_hour);
|
||||||
vty_out(vty, " ago\n");
|
vty_out(vty, " ago\n");
|
||||||
}
|
|
||||||
|
|
||||||
for (ALL_NEXTHOPS(re->nexthop, nexthop)) {
|
for (ALL_NEXTHOPS(re->nexthop, nexthop)) {
|
||||||
char addrstr[32];
|
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_nexthop = NULL;
|
||||||
json_object *json_route = NULL;
|
json_object *json_route = NULL;
|
||||||
json_object *json_labels = NULL;
|
json_object *json_labels = NULL;
|
||||||
|
time_t uptime;
|
||||||
|
struct tm *tm;
|
||||||
|
|
||||||
|
uptime = time(NULL);
|
||||||
|
uptime -= re->uptime;
|
||||||
|
tm = gmtime(&uptime);
|
||||||
|
|
||||||
if (json) {
|
if (json) {
|
||||||
json_route = json_object_new_object();
|
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);
|
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)
|
if (uptime < ONE_DAY_SECOND)
|
||||||
sprintf(buf, "%02d:%02d:%02d", tm->tm_hour,
|
sprintf(buf, "%02d:%02d:%02d", tm->tm_hour,
|
||||||
tm->tm_min, tm->tm_sec);
|
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);
|
tm->tm_hour);
|
||||||
|
|
||||||
json_object_string_add(json_route, "uptime", buf);
|
json_object_string_add(json_route, "uptime", buf);
|
||||||
}
|
|
||||||
|
|
||||||
for (ALL_NEXTHOPS(re->nexthop, nexthop)) {
|
for (ALL_NEXTHOPS(re->nexthop, nexthop)) {
|
||||||
json_nexthop = json_object_new_object();
|
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));
|
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)
|
if (uptime < ONE_DAY_SECOND)
|
||||||
vty_out(vty, ", %02d:%02d:%02d", tm->tm_hour,
|
vty_out(vty, ", %02d:%02d:%02d", tm->tm_hour,
|
||||||
tm->tm_min, tm->tm_sec);
|
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,
|
vty_out(vty, ", %02dw%dd%02dh", tm->tm_yday / 7,
|
||||||
tm->tm_yday - ((tm->tm_yday / 7) * 7),
|
tm->tm_yday - ((tm->tm_yday / 7) * 7),
|
||||||
tm->tm_hour);
|
tm->tm_hour);
|
||||||
}
|
|
||||||
vty_out(vty, "\n");
|
vty_out(vty, "\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user