mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-26 00:10:24 +00:00
Merge pull request #6118 from qlyoung/display-ibuf-count
bgpd: display ingress packet queue size
This commit is contained in:
commit
2349b827e5
@ -9036,11 +9036,20 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
|
|||||||
json_object_int_add(json_peer, "msgSent",
|
json_object_int_add(json_peer, "msgSent",
|
||||||
PEER_TOTAL_TX(peer));
|
PEER_TOTAL_TX(peer));
|
||||||
|
|
||||||
|
atomic_size_t outq_count, inq_count;
|
||||||
|
outq_count = atomic_load_explicit(
|
||||||
|
&peer->obuf->count,
|
||||||
|
memory_order_relaxed);
|
||||||
|
inq_count = atomic_load_explicit(
|
||||||
|
&peer->ibuf->count,
|
||||||
|
memory_order_relaxed);
|
||||||
|
|
||||||
json_object_int_add(json_peer, "tableVersion",
|
json_object_int_add(json_peer, "tableVersion",
|
||||||
peer->version[afi][safi]);
|
peer->version[afi][safi]);
|
||||||
json_object_int_add(json_peer, "outq",
|
json_object_int_add(json_peer, "outq",
|
||||||
peer->obuf->count);
|
outq_count);
|
||||||
json_object_int_add(json_peer, "inq", 0);
|
json_object_int_add(json_peer, "inq",
|
||||||
|
inq_count);
|
||||||
peer_uptime(peer->uptime, timebuf, BGP_UPTIME_LEN,
|
peer_uptime(peer->uptime, timebuf, BGP_UPTIME_LEN,
|
||||||
use_json, json_peer);
|
use_json, json_peer);
|
||||||
|
|
||||||
@ -9122,12 +9131,21 @@ static int bgp_show_summary(struct vty *vty, struct bgp *bgp, int afi, int safi,
|
|||||||
vty_out(vty, "%*s", max_neighbor_width - len,
|
vty_out(vty, "%*s", max_neighbor_width - len,
|
||||||
" ");
|
" ");
|
||||||
|
|
||||||
|
atomic_size_t outq_count, inq_count;
|
||||||
|
outq_count = atomic_load_explicit(
|
||||||
|
&peer->obuf->count,
|
||||||
|
memory_order_relaxed);
|
||||||
|
inq_count = atomic_load_explicit(
|
||||||
|
&peer->ibuf->count,
|
||||||
|
memory_order_relaxed);
|
||||||
|
|
||||||
vty_out(vty,
|
vty_out(vty,
|
||||||
"4 %10u %9u %9u %8" PRIu64 " %4d %4zu %8s",
|
"4 %10u %9u %9u %8" PRIu64
|
||||||
|
" %4zu %4zu %8s",
|
||||||
peer->as, PEER_TOTAL_RX(peer),
|
peer->as, PEER_TOTAL_RX(peer),
|
||||||
PEER_TOTAL_TX(peer),
|
PEER_TOTAL_TX(peer),
|
||||||
peer->version[afi][safi], 0,
|
peer->version[afi][safi], inq_count,
|
||||||
peer->obuf->count,
|
outq_count,
|
||||||
peer_uptime(peer->uptime, timebuf,
|
peer_uptime(peer->uptime, timebuf,
|
||||||
BGP_UPTIME_LEN, 0, NULL));
|
BGP_UPTIME_LEN, 0, NULL));
|
||||||
|
|
||||||
@ -11711,9 +11729,17 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, bool use_json,
|
|||||||
json_object *json_stat = NULL;
|
json_object *json_stat = NULL;
|
||||||
json_stat = json_object_new_object();
|
json_stat = json_object_new_object();
|
||||||
/* Packet counts. */
|
/* Packet counts. */
|
||||||
json_object_int_add(json_stat, "depthInq", 0);
|
|
||||||
|
atomic_size_t outq_count, inq_count;
|
||||||
|
outq_count = atomic_load_explicit(&p->obuf->count,
|
||||||
|
memory_order_relaxed);
|
||||||
|
inq_count = atomic_load_explicit(&p->ibuf->count,
|
||||||
|
memory_order_relaxed);
|
||||||
|
|
||||||
|
json_object_int_add(json_stat, "depthInq",
|
||||||
|
(unsigned long)inq_count);
|
||||||
json_object_int_add(json_stat, "depthOutq",
|
json_object_int_add(json_stat, "depthOutq",
|
||||||
(unsigned long)p->obuf->count);
|
(unsigned long)outq_count);
|
||||||
json_object_int_add(json_stat, "opensSent",
|
json_object_int_add(json_stat, "opensSent",
|
||||||
atomic_load_explicit(&p->open_out,
|
atomic_load_explicit(&p->open_out,
|
||||||
memory_order_relaxed));
|
memory_order_relaxed));
|
||||||
@ -11754,11 +11780,16 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, bool use_json,
|
|||||||
json_object_int_add(json_stat, "totalRecv", PEER_TOTAL_RX(p));
|
json_object_int_add(json_stat, "totalRecv", PEER_TOTAL_RX(p));
|
||||||
json_object_object_add(json_neigh, "messageStats", json_stat);
|
json_object_object_add(json_neigh, "messageStats", json_stat);
|
||||||
} else {
|
} else {
|
||||||
|
atomic_size_t outq_count, inq_count;
|
||||||
|
outq_count = atomic_load_explicit(&p->obuf->count,
|
||||||
|
memory_order_relaxed);
|
||||||
|
inq_count = atomic_load_explicit(&p->ibuf->count,
|
||||||
|
memory_order_relaxed);
|
||||||
|
|
||||||
/* Packet counts. */
|
/* Packet counts. */
|
||||||
vty_out(vty, " Message statistics:\n");
|
vty_out(vty, " Message statistics:\n");
|
||||||
vty_out(vty, " Inq depth is 0\n");
|
vty_out(vty, " Inq depth is %zu\n", inq_count);
|
||||||
vty_out(vty, " Outq depth is %lu\n",
|
vty_out(vty, " Outq depth is %zu\n", outq_count);
|
||||||
(unsigned long)p->obuf->count);
|
|
||||||
vty_out(vty, " Sent Rcvd\n");
|
vty_out(vty, " Sent Rcvd\n");
|
||||||
vty_out(vty, " Opens: %10d %10d\n",
|
vty_out(vty, " Opens: %10d %10d\n",
|
||||||
atomic_load_explicit(&p->open_out,
|
atomic_load_explicit(&p->open_out,
|
||||||
|
Loading…
Reference in New Issue
Block a user