]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: quic: fix bbr_inflight() calls with wrong gain value
authorFrederic Lecaille <flecaille@haproxy.com>
Wed, 4 Dec 2024 17:47:15 +0000 (18:47 +0100)
committerFrederic Lecaille <flecaille@haproxy.com>
Wed, 4 Dec 2024 17:47:15 +0000 (18:47 +0100)
commit6404b7a18a518e04bf934c1635e8a0b34628149a
tree3b1b6f8753cc64f03f6ffca8871026afef82c0a1
parente6f4f15929064457c16f31634509bb18f10c3470
BUG/MINOR: quic: fix bbr_inflight() calls with wrong gain value

This patch fixes two wrong calls to bbr_inflight().

bbr_target_inflight() aim is to compute the number of bytes BBR has to put on
the network as bytes in flight (sent but not acked bytes). It must call
bbr_inflight() with the current window gain value (in place of a wrong fixed 100
gain value here, in percents).

bbr_is_time_to_cruise() also called bbr_inflight() with a wrong gain value
as parameter due to a confusion between the value mentioned by the RFC (1
meaning 100% of the current window) and our implementation which needs value in
percents (so 100 in place of 1 here). Note that bbr_is_time_to_cruise() aim is to
make BBR the decision to leave the probing_bw down state. The bug had as side
effect to make BBR stay in this state during too long periods of time during
which the bottleneck bandwidth is decreasing, leading to big oscillations
between the mininum and maximum bottleneck bandwidth estimations.

This patch must be backported to 3.1 where BBR was first implemented.
src/quic_cc_bbr.c