diff options
author | Donatas Abraitis <donatas.abraitis@gmail.com> | 2020-04-22 22:39:13 +0200 |
---|---|---|
committer | Donatas Abraitis <donatas.abraitis@gmail.com> | 2020-04-24 14:35:19 +0200 |
commit | db92d22638e3b10766f6e64ee397f0e1e21930c2 (patch) | |
tree | faaa4d003c338852abd5d8d0d1e9c3751894a6cf | |
parent | Merge pull request #6279 from opensourcerouting/nb-cb-args (diff) | |
download | frr-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.c | 16 |
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"); } |