summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas.abraitis@gmail.com>2020-04-22 22:39:13 +0200
committerDonatas Abraitis <donatas.abraitis@gmail.com>2020-04-24 14:35:19 +0200
commitdb92d22638e3b10766f6e64ee397f0e1e21930c2 (patch)
treefaaa4d003c338852abd5d8d0d1e9c3751894a6cf
parentMerge pull request #6279 from opensourcerouting/nb-cb-args (diff)
downloadfrr-db92d22638e3b10766f6e64ee397f0e1e21930c2.tar.xz
frr-db92d22638e3b10766f6e64ee397f0e1e21930c2.zip
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 b7a7d2c38..f565fa174 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -9050,10 +9050,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))
@@ -9109,7 +9111,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",
@@ -9195,7 +9196,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
@@ -9203,7 +9204,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(
@@ -9214,6 +9220,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");
}