summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas.abraitis@gmail.com>2020-04-22 23:39:13 +0300
committerDonatas Abraitis <donatas.abraitis@gmail.com>2020-04-23 11:48:14 +0300
commit776e7cf5ce9cc0a55a48beb432faacf7ce7c97f9 (patch)
tree5b64bc3bd7148f24d624be5a127c9473d5d0406c
parent86ac1facf38df2006ab73f30eae0301057fbcade (diff)
bgpd: Show PfxSnt for `show bgp <afi> <safi>` command
JSON output was already in, just printing in CLI as well. ``` root@exit1-debian-9:~# vtysh -c 'show bgp ipv4 summary' IPv4 Unicast Summary: BGP router identifier 10.10.10.1, local AS number 65001 vrf-id 0 BGP table version 100003 RIB entries 200005, using 37 MiB of memory Peers 1, using 21 KiB of memory ... MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt ... 64 157 0 0 0 00:01:18 0 100003 Total number of neighbors 1 ``` JSON: ``` root@exit1-debian-9:~# vtysh -c 'show bgp ipv4 summary json' \ | > jq '.ipv4Unicast.peers."192.168.0.2".pfxSnt' 100003 ``` Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
-rw-r--r--bgpd/bgp_vty.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index a356564813..33117d212a 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -9047,10 +9047,12 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
vty_out(vty, "EstdCnt DropCnt ResetTime Reason\n");
else
vty_out(vty,
- "V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd\n");
+ "V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt\n");
}
}
+ paf = peer_af_find(peer, afi, pfx_rcd_safi);
+
count++;
/* Works for both failed & successful cases */
if (peer_dynamic_neighbor(peer))
@@ -9106,7 +9108,6 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
json_object_int_add(json_peer, "pfxRcd",
peer->pcount[afi][pfx_rcd_safi]);
- paf = peer_af_find(peer, afi, pfx_rcd_safi);
if (paf && PAF_SUBGRP(paf))
json_object_int_add(json_peer,
"pfxSnt",
@@ -9192,7 +9193,7 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
peer_uptime(peer->uptime, timebuf,
BGP_UPTIME_LEN, 0, NULL));
- if (peer->status == Established)
+ if (peer->status == Established) {
if (peer->afc_recv[afi][safi])
vty_out(vty, " %12" PRIu32,
peer->pcount
@@ -9200,7 +9201,12 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
[pfx_rcd_safi]);
else
vty_out(vty, " NoNeg");
- else {
+
+ if (paf && PAF_SUBGRP(paf))
+ vty_out(vty, " %8" PRIu32,
+ (PAF_SUBGRP(paf))
+ ->scount);
+ } else {
if (CHECK_FLAG(peer->flags, PEER_FLAG_SHUTDOWN))
vty_out(vty, " Idle (Admin)");
else if (CHECK_FLAG(
@@ -9211,6 +9217,8 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
vty_out(vty, " %12s",
lookup_msg(bgp_status_msg,
peer->status, NULL));
+
+ vty_out(vty, " %8" PRIu32, 0);
}
vty_out(vty, "\n");
}