]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
BGP: show detailed TX state in show proto all output
authorMaria Matejka <mq@ucw.cz>
Sun, 5 Mar 2023 15:22:55 +0000 (16:22 +0100)
committerMaria Matejka <mq@ucw.cz>
Tue, 4 Apr 2023 15:00:58 +0000 (17:00 +0200)
proto/bgp/bgp.c

index 104e5862ff3e712adda2b6f679c70e80299b02d7..26fccdc3160da8c7c39a15b23ecf28288a58cbae 100644 (file)
@@ -2670,6 +2670,9 @@ bgp_show_proto_info(struct proto *P)
            tm_remains(p->conn->hold_timer), p->conn->hold_time);
     cli_msg(-1006, "    Keepalive timer:  %t/%u",
            tm_remains(p->conn->keepalive_timer), p->conn->keepalive_time);
+    cli_msg(-1006, "    TX pending:       %d bytes%s",
+           p->conn->sk->tpos - p->conn->sk->ttx,
+           ev_active(p->conn->tx_ev) ? " (refill scheduled)" : "");
   }
 
 #if 0
@@ -2723,6 +2726,22 @@ bgp_show_proto_info(struct proto *P)
 
       if (c->base_table)
        cli_msg(-1006, "    Base table:     %s", c->base_table->name);
+
+      uint bucket_cnt = 0;
+      uint prefix_cnt = 0;
+      struct bgp_bucket *buck;
+      struct bgp_prefix *px;
+      if (c->ptx)
+       WALK_LIST(buck, c->ptx->bucket_queue)
+       {
+         bucket_cnt++;
+         WALK_LIST(px, buck->prefixes)
+           if (px->cur)
+             prefix_cnt++;
+       }
+
+      cli_msg(-1006, "    Pending %u attribute sets with total %u prefixes to send",
+        bucket_cnt, prefix_cnt);
     }
   }
 }