]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: quic: support pacing for newreno and nocc
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 21 Nov 2024 10:07:15 +0000 (11:07 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 21 Nov 2024 10:33:44 +0000 (11:33 +0100)
commit95d3edd68fb3681a5b1d48d023b4e55e3ac56390
tree297ff0831ad4a36c29fed07f0768230e2d6b42ea
parent99497d23b533de4a9c96160e7a0c99455de78ca5
MINOR: quic: support pacing for newreno and nocc

Extend extra pacing support for newreno and nocc congestion algorithms,
as with cubic.

For better extensibility of cc algo definition, define a new flags field
in quic_cc_algo structure. For now, the only value is
QUIC_CC_ALGO_FL_OPT_PACING which is set if pacing support can be
optionally activated. Both cubic, newreno and nocc now supports this.

This new flag is then reused by QUIC config parser. If set, extra
quic-cc-algo burst parameter is taken into account. If positive, this
will activate pacing support on top of the congestion algorithm. As with
cubic previously, pacing is only supported if running under experimental
mode.

Only BBR is not flagged with this new value as pacing is directly
builtin in the algorithm and cannot be turn off. Furthermore, BBR
calculates automatically its value for maximum burst. As such, any
quic-cc-algo burst argument used with BBR is still ignored with a
warning.
include/haproxy/quic_cc-t.h
src/cfgparse-quic.c
src/quic_cc_cubic.c
src/quic_cc_newreno.c
src/quic_cc_nocc.c