From db6a4727cf996e723f6f525f5757300c1b8395bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Thu, 30 Dec 2021 23:16:51 +0100 Subject: [PATCH] MINOR: quic: Probe Initial packet number space more often Especially when the PTO expires for Handshake packet number space and when Initial packets are still flying (for QUIC servers). --- src/xprt_quic.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 5d9b82e25..3152f27d3 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -3323,6 +3323,10 @@ static struct task *process_timer(struct task *task, void *ctx, unsigned int sta st = HA_ATOMIC_LOAD(&qc->state); if (qc->path->in_flight) { pktns = quic_pto_pktns(qc, st >= QUIC_HS_ST_COMPLETE, NULL); + if (objt_listener(qc->conn->target) && + pktns == &qc->pktns[QUIC_TLS_PKTNS_HANDSHAKE] && + qc->pktns[QUIC_TLS_PKTNS_INITIAL].tx.in_flight) + qc->pktns[QUIC_TLS_PKTNS_INITIAL].tx.pto_probe = 1; pktns->tx.pto_probe = 1; } else if (objt_server(qc->conn->target) && st <= QUIC_HS_ST_COMPLETE) {