tcp: make undo_cwnd mandatory for congestion modules
The undo_cwnd fallback in the stack doubles cwnd based on ssthresh, which un-does reno halving behaviour. It seems more appropriate to let congctl algorithms pair .ssthresh and .undo_cwnd properly. Add a 'tcp_reno_undo_cwnd' function and wire it up for all congestion algorithms that used to rely on the fallback. Cc: Eric Dumazet <edumazet@google.com> Cc: Yuchung Cheng <ycheng@google.com> Cc: Neal Cardwell <ncardwell@google.com> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
85f7e7508a
commit
e97991832a
@@ -166,6 +166,7 @@ static void hybla_cong_avoid(struct sock *sk, u32 ack, u32 acked)
|
||||
static struct tcp_congestion_ops tcp_hybla __read_mostly = {
|
||||
.init = hybla_init,
|
||||
.ssthresh = tcp_reno_ssthresh,
|
||||
.undo_cwnd = tcp_reno_undo_cwnd,
|
||||
.cong_avoid = hybla_cong_avoid,
|
||||
.set_state = hybla_state,
|
||||
|
||||
|
Reference in New Issue
Block a user