]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: quic: Wrong TX packet related counters handling
authorFrédéric Lécaille <flecaille@haproxy.com>
Mon, 21 Mar 2022 15:12:19 +0000 (16:12 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 21 Mar 2022 16:33:37 +0000 (17:33 +0100)
During the packet number space discarding, do no reset tx.in_flight counter
before decrement it from other variables.
Furthermore path prep_in_flight counter was not decremented.

include/haproxy/xprt_quic.h

index 3135ce5fc828b51c252ce7a31db2d21d1114ab2c..3348d82cf60f7b7d0b583a2b6c29742e31660a50 100644 (file)
@@ -1029,12 +1029,14 @@ static inline void quic_pktns_discard(struct quic_pktns *pktns,
 {
        struct eb64_node *node;
 
+       qc->path->in_flight -= pktns->tx.in_flight;
+       qc->path->prep_in_flight -= pktns->tx.in_flight;
+       qc->path->loss.pto_count = 0;
+
        pktns->tx.time_of_last_eliciting = 0;
        pktns->tx.loss_time = TICK_ETERNITY;
        pktns->tx.pto_probe = 0;
        pktns->tx.in_flight = 0;
-       qc->path->loss.pto_count = 0;
-       qc->path->in_flight -= pktns->tx.in_flight;
 
        node = eb64_first(&pktns->tx.pkts);
        while (node) {