git: 8d4f495df465 - main - ddb: improve show tcpcb
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 28 May 2025 10:14:34 UTC
The branch main has been updated by tuexen:
URL: https://cgit.FreeBSD.org/src/commit/?id=8d4f495df46567dcfcbec59794e9b9137b2f38fe
commit 8d4f495df46567dcfcbec59794e9b9137b2f38fe
Author: Michael Tuexen <tuexen@FreeBSD.org>
AuthorDate: 2025-05-28 10:10:51 +0000
Commit: Michael Tuexen <tuexen@FreeBSD.org>
CommitDate: 2025-05-28 10:10:51 +0000
ddb: improve show tcpcb
Print the name of the TCP function block and the name of the
congestion control algorithm. Furthermore, print some information
related to Black Box Logging.
Reviewed by: thj
MFC after: 1 week
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D50535
---
sys/netinet/tcp_usrreq.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
index 61ca29dc0ad2..5be4c399893a 100644
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -3045,6 +3045,43 @@ db_print_toobflags(char t_oobflags)
}
}
+static void
+db_print_bblog_state(int state)
+{
+ switch (state) {
+ case TCP_LOG_STATE_RATIO_OFF:
+ db_printf("TCP_LOG_STATE_RATIO_OFF");
+ break;
+ case TCP_LOG_STATE_CLEAR:
+ db_printf("TCP_LOG_STATE_CLEAR");
+ break;
+ case TCP_LOG_STATE_OFF:
+ db_printf("TCP_LOG_STATE_OFF");
+ break;
+ case TCP_LOG_STATE_TAIL:
+ db_printf("TCP_LOG_STATE_TAIL");
+ break;
+ case TCP_LOG_STATE_HEAD:
+ db_printf("TCP_LOG_STATE_HEAD");
+ break;
+ case TCP_LOG_STATE_HEAD_AUTO:
+ db_printf("TCP_LOG_STATE_HEAD_AUTO");
+ break;
+ case TCP_LOG_STATE_CONTINUAL:
+ db_printf("TCP_LOG_STATE_CONTINUAL");
+ break;
+ case TCP_LOG_STATE_TAIL_AUTO:
+ db_printf("TCP_LOG_STATE_TAIL_AUTO");
+ break;
+ case TCP_LOG_VIA_BBPOINTS:
+ db_printf("TCP_LOG_STATE_BBPOINTS");
+ break;
+ default:
+ db_printf("UNKNOWN(%d)", state);
+ break;
+ }
+}
+
static void
db_print_tcpcb(struct tcpcb *tp, const char *name, int indent)
{
@@ -3156,6 +3193,21 @@ db_print_tcpcb(struct tcpcb *tp, const char *name, int indent)
db_print_indent(indent);
db_printf("t_rttlow: %d rfbuf_ts: %u rfbuf_cnt: %d\n",
tp->t_rttlow, tp->rfbuf_ts, tp->rfbuf_cnt);
+
+ db_print_indent(indent);
+ db_printf("t_fb.tfb_tcp_block_name: %s\n", tp->t_fb->tfb_tcp_block_name);
+
+ db_print_indent(indent);
+ db_printf("t_cc.name: %s\n", tp->t_cc->name);
+
+ db_print_indent(indent);
+ db_printf("_t_logstate: %d (", tp->_t_logstate);
+ db_print_bblog_state(tp->_t_logstate);
+ db_printf(")\n");
+
+ db_print_indent(indent);
+ db_printf("t_lognum: %d t_loglimit: %d t_logsn: %u\n",
+ tp->t_lognum, tp->t_loglimit, tp->t_logsn);
}
DB_SHOW_COMMAND(tcpcb, db_show_tcpcb)