From db92d22638e3b10766f6e64ee397f0e1e21930c2 Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Wed, 22 Apr 2020 23:39:13 +0300 Subject: bgpd: Show PfxSnt for `show bgp ` 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 --- bgpd/bgp_vty.c | 16 ++++++++++++---- 1 file 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"); } -- cgit v1.2.3