diff options
author | Yuchung Cheng <ycheng@google.com> | 2016-01-29 15:11:50 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-01-29 23:03:56 -0800 |
commit | 99b4dd9f2423130875ac486fe587cd103c64f753 (patch) | |
tree | b355e804e53334d5930f34cfcca0beeb4465af63 /net/ipv4 | |
parent | 3d45296ab96c2ec8308226b3350a6d9e48379870 (diff) | |
download | linux-99b4dd9f2423130875ac486fe587cd103c64f753.tar.gz linux-99b4dd9f2423130875ac486fe587cd103c64f753.tar.bz2 linux-99b4dd9f2423130875ac486fe587cd103c64f753.zip |
tcp: avoid cwnd undo after receiving ECN
RFC 4015 section 3.4 says the TCP sender MUST refrain from
reversing the congestion control state when the ACK signals
congestion through the ECN-Echo flag. Currently we may not
always do that when prior_ssthresh is reset upon receiving
ACKs with ECE marks. This patch fixes that.
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/tcp_input.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index d2ad4337b63d..1c2a73406261 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -2366,8 +2366,6 @@ static void tcp_undo_cwnd_reduction(struct sock *sk, bool unmark_loss) tp->snd_ssthresh = tp->prior_ssthresh; tcp_ecn_withdraw_cwr(tp); } - } else { - tp->snd_cwnd = max(tp->snd_cwnd, tp->snd_ssthresh); } tp->snd_cwnd_stamp = tcp_time_stamp; tp->undo_marker = 0; |