]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: quic: Probe Initial packet number space more often
authorFrédéric Lécaille <flecaille@haproxy.com>
Thu, 30 Dec 2021 22:16:51 +0000 (23:16 +0100)
committerFrédéric Lécaille <flecaille@haproxy.com>
Tue, 4 Jan 2022 16:30:00 +0000 (17:30 +0100)
Especially when the PTO expires for Handshake packet number space and when
Initial packets are still flying (for QUIC servers).

src/xprt_quic.c

index 5d9b82e25f6c9323a6dd21acea38817ecdcbe802..3152f27d362bde655c8902986d9e52053c4d57cc 100644 (file)
@@ -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) {