BUG/MINOR: quic: fix the wrong tracked recovery start time value
authorFrederic Lecaille <flecaille@haproxy.com>
Fri, 13 Dec 2024 07:28:56 +0000 (08:28 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 6 Jan 2025 10:18:55 +0000 (11:18 +0100)
bbr_congestion_event() role is to track the start time of recovery periods.
This was done using <ts> passed as parameter. But this parameter is the
time the newest lost packet has been sent.
The timestamp value to store in ->recovery_start_ts is <now_ms>.

Must be backported to 3.1.

(cherry picked from commit e61b4189078f97d036952371c7fc9e5ceefdfff0)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>

src/quic_cc_bbr.c

index f2008ed..6179c9f 100644 (file)
@@ -1446,7 +1446,7 @@ static void bbr_congestion_event(struct quic_cc *cc, uint32_t ts)
                tick_isset(bbr->recovery_start_ts) || in_recovery_period(p, ts))
                return;
 
-       bbr->recovery_start_ts = ts;
+       bbr->recovery_start_ts = now_ms;
 }
 
 /* Callback to return the delivery rate sample struct from <cc> */