]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Add epoch uptime to BGP neighbor json outputs
authorDaniel Walton <dwalton@cumulusnetworks.com>
Wed, 17 May 2017 00:07:02 +0000 (00:07 +0000)
committerDaniel Walton <dwalton@cumulusnetworks.com>
Wed, 17 May 2017 00:07:02 +0000 (00:07 +0000)
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
bgpd/bgp_vty.c
bgpd/bgpd.c

index 6f330b0d03c5aa323c8cf8c36549eae43eaa54a2..f71d03e46bc97ebfeef8de091d276fe4b1222bba 100644 (file)
@@ -11087,6 +11087,7 @@ bgp_show_peer (struct vty *vty, struct peer *p, u_char use_json, json_object *js
   u_int16_t i;
   u_char *msg;
   json_object *json_neigh = NULL;
+  time_t epoch_tbuf;
 
   bgp = p->bgp;
 
@@ -11277,8 +11278,11 @@ bgp_show_peer (struct vty *vty, struct peer *p, u_char use_json, json_object *js
           uptime = bgp_clock();
           uptime -= p->uptime;
           tm = gmtime(&uptime);
+          epoch_tbuf = time(NULL) - uptime;
 
           json_object_int_add(json_neigh, "bgpTimerUp", (tm->tm_sec * 1000) + (tm->tm_min * 60000) + (tm->tm_hour * 3600000));
+          json_object_string_add(json_neigh, "bgpTimerUpString", peer_uptime (p->uptime, timebuf, BGP_UPTIME_LEN, 0, NULL));
+          json_object_int_add(json_neigh, "bgpTimerUpEstablishedEpoch", epoch_tbuf);
         }
 
       else if (p->status == Active)
index 86133cd7637eca68269c6a85cbb41af0f0ea51e0..31d54a3e98b40a73679e580f832389e7a0b4b5b8 100644 (file)
@@ -6250,7 +6250,7 @@ peer_clear_soft (struct peer *peer, afi_t afi, safi_t safi,
 char *
 peer_uptime (time_t uptime2, char *buf, size_t len, u_char use_json, json_object *json)
 {
-  time_t uptime1;
+  time_t uptime1, epoch_tbuf;
   struct tm *tm;
 
   /* Check buffer length. */
@@ -6304,8 +6304,10 @@ peer_uptime (time_t uptime2, char *buf, size_t len, u_char use_json, json_object
 
   if (use_json)
     {
+      epoch_tbuf = time(NULL) - uptime1;
       json_object_string_add(json, "peerUptime", buf);
       json_object_long_add(json, "peerUptimeMsec", uptime1 * 1000);
+      json_object_int_add(json, "peerUptimeEstablishedEpoch", epoch_tbuf);
     }
 
   return buf;