diff --git a/include/haproxy/quic_cc-t.h b/include/haproxy/quic_cc-t.h index 5293495fd4..e5ed9b3c3f 100644 --- a/include/haproxy/quic_cc-t.h +++ b/include/haproxy/quic_cc-t.h @@ -99,6 +99,8 @@ struct quic_cc_path { /* MTU. Must be constant for GSO support. */ const size_t mtu; + /* Initial congestion window. */ + uint64_t initial_wnd; /* Congestion window. */ uint64_t cwnd; /* The current maximum congestion window value reached. */ diff --git a/include/haproxy/quic_cc.h b/include/haproxy/quic_cc.h index 8003878fdb..bb15b3f915 100644 --- a/include/haproxy/quic_cc.h +++ b/include/haproxy/quic_cc.h @@ -90,7 +90,8 @@ static inline void quic_cc_path_init(struct quic_cc_path *path, int ipv4, unsign max_dgram_sz = ipv4 ? QUIC_INITIAL_IPV4_MTU : QUIC_INITIAL_IPV6_MTU; quic_loss_init(&path->loss); *(size_t *)&path->mtu = max_dgram_sz; - path->cwnd = QUIC_MIN(10 * max_dgram_sz, QUIC_MAX(max_dgram_sz << 1, 14720U)); + path->initial_wnd = QUIC_MIN(10 * max_dgram_sz, QUIC_MAX(max_dgram_sz << 1, 14720U)); + path->cwnd = path->initial_wnd; path->mcwnd = path->cwnd; path->max_cwnd = max_cwnd; path->min_cwnd = max_dgram_sz << 1;