MINOR: quic: Add useful debugging traces in qc_idle_timer_do_rearm()

Traces were missing in this function.
Also add information about the connection struct from qc->conn when
initialized for all the traces.

Should be easily backported as far as 2.6.
This commit is contained in:
Frederic Lecaille 2025-11-28 11:54:23 +01:00
parent 6c33c6d262
commit fbcba05402
2 changed files with 14 additions and 2 deletions

View File

@ -1716,9 +1716,13 @@ void qc_idle_timer_do_rearm(struct quic_conn *qc, int arm_ack)
{
unsigned int expire;
TRACE_ENTER(QUIC_EV_CONN_IDLE_TIMER, qc);
/* It is possible the idle timer task has been already released. */
if (!qc->idle_timer_task)
return;
if (!qc->idle_timer_task) {
TRACE_PROTO("idle timer already released", QUIC_EV_CONN_IDLE_TIMER, qc);
goto leave;
}
if (qc->flags & (QUIC_FL_CONN_CLOSING|QUIC_FL_CONN_DRAINING)) {
/* RFC 9000 10.2. Immediate Close
@ -1747,6 +1751,8 @@ void qc_idle_timer_do_rearm(struct quic_conn *qc, int arm_ack)
expire = QUIC_MAX(3 * quic_pto(qc), qc->max_idle_timeout);
}
TRACE_PRINTF(TRACE_LEVEL_PROTO, QUIC_EV_CONN_IDLE_TIMER, qc, 0, 0, 0,
"quic_pto=%u expire=%u", quic_pto(qc), expire);
qc->idle_expire = tick_add(now_ms, MS_TO_TICKS(expire));
/* Note that the ACK timer is not armed during the handshake. So,
* the handshake expiration date is taken into an account only
@ -1768,6 +1774,9 @@ void qc_idle_timer_do_rearm(struct quic_conn *qc, int arm_ack)
task_queue(qc->idle_timer_task);
TRACE_PROTO("idle timer armed", QUIC_EV_CONN_IDLE_TIMER, qc);
}
leave:
TRACE_LEAVE(QUIC_EV_CONN_IDLE_TIMER, qc);
}
/* Rearm the idle timer or ack timer for <qc> QUIC connection depending on <read>

View File

@ -119,6 +119,9 @@ static void quic_trace(enum trace_level level, uint64_t mask, const struct trace
chunk_appendf(&trace_buf, " : qc@%p(%c) idle_timer_task@%p flags=0x%x",
qc, (qc->flags & QUIC_FL_CONN_IS_BACK) ? 'B' : 'F',
qc->idle_timer_task, qc->flags);
if (qc->conn)
chunk_appendf(&trace_buf, " conn@%p(err_code=%d flags=0x%llx)",
qc->conn, qc->conn->err_code, (ull)qc->conn->flags);
if (mask & QUIC_EV_CONN_NEW) {
const int *ssl_err = a2;