From: Frédéric Lécaille Date: Wed, 30 Mar 2022 12:44:49 +0000 (+0200) Subject: BUG/MINOR: quic: Do not probe from an already probing packet number space X-Git-Tag: v2.6-dev5~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5cfb4edca75dca8bc5c3ce9c2b86aadca477a3e3;p=thirdparty%2Fhaproxy.git BUG/MINOR: quic: Do not probe from an already probing packet number space During a handshake, after having prepared a probe upon a PTO expiration from process_timer(), we wake up the I/O handler to make it send probing packets. This handler first treat incoming packets which trigger a fast retransmission leading to send too much probing (duplicated) packets. In this cas we cancel the fast retranmission. --- diff --git a/src/xprt_quic.c b/src/xprt_quic.c index dd9c3543ae..c48d1c2513 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -2320,6 +2320,15 @@ static void qc_prep_hdshk_fast_retrans(struct quic_conn *qc) struct quic_tx_packet *pkt; struct list *tmp = &itmp; + /* Do not probe from a packet number space if some probing + * was already asked. + */ + if (qel->pktns->tx.pto_probe) { + qel = hqel; + if (qel->pktns->tx.pto_probe) + return; + } + start: pkt = NULL; pkts = &qel->pktns->tx.pkts;