From 7a22fbd453d7ef732b72c1d45d0e2c4f89b43fcb Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 6 Aug 2024 15:21:00 +0200 Subject: [PATCH] BUG/MINOR: trace/quic: make "qconn" selectable as a lockon criterion The test was was performed but there's no way to set the option! Let's just add "qconn" to select the quic conn when the source supports it. This can be backported at least to 3.0, probably 2.6. --- src/trace.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/trace.c b/src/trace.c index 2d1257c97..b8a139772 100644 --- a/src/trace.c +++ b/src/trace.c @@ -649,7 +649,11 @@ static int trace_parse_statement(char **args, char **msg) if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_STRM)) chunk_appendf(&trash, " %c server : lock on the server that started the trace\n", src->lockon == TRACE_LOCKON_SERVER ? '*' : ' '); - +#ifdef USE_QUIC + if (src->arg_def & TRC_ARGS_QCON) + chunk_appendf(&trash, " %c qconn : lock on the QUIC connection that started the trace\n", + src->lockon == TRACE_LOCKON_QCON ? '*' : ' '); +#endif if (src->arg_def & (TRC_ARGS_CONN|TRC_ARGS_QCON|TRC_ARGS_SESS|TRC_ARGS_STRM)) chunk_appendf(&trash, " %c session : lock on the session that started the trace\n", src->lockon == TRACE_LOCKON_SESSION ? '*' : ' '); @@ -721,6 +725,10 @@ static int trace_parse_statement(char **args, char **msg) HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_SESSION); HA_ATOMIC_STORE(&src->lockon_ptr, NULL); } + else if ((src->arg_def & TRC_ARGS_QCON) && strcmp(name, "qconn") == 0) { + HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_QCON); + HA_ATOMIC_STORE(&src->lockon_ptr, NULL); + } else if ((src->arg_def & TRC_ARGS_STRM) && strcmp(name, "stream") == 0) { HA_ATOMIC_STORE(&src->lockon, TRACE_LOCKON_STREAM); HA_ATOMIC_STORE(&src->lockon_ptr, NULL);