From 92f4a7c614cc220bc3bc13a500988f4919597500 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Tue, 4 Apr 2023 14:31:49 +0200 Subject: [PATCH] BUG/MINOR: quic: Wrong idle timer expiration (during 20s) This this commit, this is ->idle_expire of quic_conn struct which must be taken into an account to display the idel timer task expiration value: MEDIUM: quic: Ack delay implementation Furthermore, this value was always zero until now_ms has wrapped (20 s after the start time) due to this commit: MEDIUM: clock: force internal time to wrap early after boot Do not rely on the value of now_ms compared to ->idle_expire to display the difference but use ticks_remain() to compute it. Must be backported to 2.7 where "show quic" has already been backported. --- src/quic_conn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/quic_conn.c b/src/quic_conn.c index 22da20760..23e5f28b5 100644 --- a/src/quic_conn.c +++ b/src/quic_conn.c @@ -8358,9 +8358,9 @@ static int cli_io_handler_dump_quic(struct appctx *appctx) else chunk_appendf(&trash, "mux=released "); - expire = qc->idle_timer_task->expire; + expire = qc->idle_expire; chunk_appendf(&trash, "expire=%02ds ", - expire > now_ms ? (expire - now_ms) / 1000 : 0); + TICKS_TO_MS(tick_remain(now_ms, expire)) / 1000); chunk_appendf(&trash, "\n");