From: Frédéric Lécaille Date: Tue, 4 Apr 2023 12:31:49 +0000 (+0200) Subject: BUG/MINOR: quic: Wrong idle timer expiration (during 20s) X-Git-Tag: v2.8-dev7~108 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=92f4a7c614cc220bc3bc13a500988f4919597500;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/quic_conn.c b/src/quic_conn.c index 22da207606..23e5f28b52 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");