From 270f9c5977b411fed644b99e3c8be195cec62808 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 10 Oct 2025 18:16:17 -0400 Subject: [PATCH] quic: basic state formatting Type: improvement Change-Id: I10cc94c5d2ea9a883fdcd54dd8f61541acbfb271 Signed-off-by: Florin Coras Signed-off-by: Steven Luong --- src/plugins/quic/quic.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/plugins/quic/quic.c b/src/plugins/quic/quic.c index 549afd1be4e..f934ba13ede 100644 --- a/src/plugins/quic/quic.c +++ b/src/plugins/quic/quic.c @@ -480,6 +480,35 @@ quic_listener_get (u32 listener_index) return &ctx->connection; } +static u8 * +format_quic_ctx_state (u8 *s, va_list *args) +{ + quic_ctx_t *ctx; + session_t *as; + + ctx = va_arg (*args, quic_ctx_t *); + as = session_get (ctx->c_s_index, ctx->c_thread_index); + if (as->session_state == SESSION_STATE_LISTENING) + s = format (s, "%s", "LISTEN"); + else + { + if (as->session_state == SESSION_STATE_READY) + s = format (s, "%s", "ESTABLISHED"); + else if (as->session_state == SESSION_STATE_ACCEPTING) + s = format (s, "%s", "ACCEPTING"); + else if (as->session_state == SESSION_STATE_CONNECTING) + s = format (s, "%s", "CONNECTING"); + else if (as->session_state >= SESSION_STATE_TRANSPORT_CLOSED) + s = format (s, "%s", "CLOSED"); + else if (as->session_state >= SESSION_STATE_TRANSPORT_CLOSING) + s = format (s, "%s", "CLOSING"); + else + s = format (s, "UNHANDLED %u", as->session_state); + } + + return s; +} + static u8 * format_quic_ctx (u8 * s, va_list * args) { @@ -503,8 +532,8 @@ format_quic_ctx (u8 * s, va_list * args) format (str, " app %d wrk %d", ctx->parent_app_id, ctx->parent_app_wrk_id); if (verbose == 1) - s = format (s, "%-" SESSION_CLI_ID_LEN "s%-" SESSION_CLI_STATE_LEN "d", - str, ctx->conn_state); + s = format (s, "%-" SESSION_CLI_ID_LEN "s%-" SESSION_CLI_STATE_LEN "U", + str, format_quic_ctx_state, ctx); else s = format (s, "%s\n", str); vec_free (str); -- 2.16.6