]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Show Graceful Restart seconds remaining per prefix
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Wed, 19 Jan 2022 17:02:01 +0000 (19:02 +0200)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Wed, 19 Jan 2022 17:14:19 +0000 (19:14 +0200)
```
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>
bgpd/bgp_route.c

index 8569cbc102de5e2cd751e6a90940efb404ac9200..e10e7dcd62830b58001897a7e04ed9767a90a59b 100644 (file)
@@ -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(