summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas.abraitis@gmail.com>2022-01-19 19:02:01 +0200
committerDonatas Abraitis <donatas.abraitis@gmail.com>2022-01-19 19:14:19 +0200
commit848e8cf6c69a26e2ad5b3a8d4f08b5ddda78684c (patch)
tree7b25f1840e7ac4de12c2cfe4d95bbd702922a76a
parentb542c4a3c7ad5e1c7e24f9e021926841d2634ac1 (diff)
bgpd: Show Graceful Restart seconds remaining per prefix
``` exit1-debian-11# sh ip bgp 10.10.10.10/32 BGP routing table entry for 10.10.10.10/32, version 14 Paths: (1 available, best #1, table default) Not advertised to any peer 65000, (stale) 192.168.0.2 from 192.168.0.2 (0.0.0.0) Origin incomplete, metric 0, valid, external, best (First path received) Last update: Wed Jan 19 17:13:51 2022 Time until Graceful Restart stale route deleted: 117 ``` Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
-rw-r--r--bgpd/bgp_route.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 8569cbc102..e10e7dcd62 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -10725,6 +10725,21 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp, struct bgp_dest *bn,
str, label2vni(&attr->label));
}
+ if (path->peer->t_gr_restart &&
+ CHECK_FLAG(path->flags, BGP_PATH_STALE)) {
+ unsigned long gr_remaining =
+ thread_timer_remain_second(path->peer->t_gr_restart);
+
+ if (json_paths) {
+ json_object_int_add(json_path,
+ "gracefulRestartSecondsRemaining",
+ gr_remaining);
+ } else
+ vty_out(vty,
+ " Time until Graceful Restart stale route deleted: %lu\n",
+ gr_remaining);
+ }
+
if (path->peer->t_llgr_stale[afi][safi] && attr->community &&
community_include(attr->community, COMMUNITY_LLGR_STALE)) {
unsigned long llgr_remaining = thread_timer_remain_second(