diff options
author | Yuchung Cheng | 2018-05-17 01:40:12 +0200 |
---|---|---|
committer | David S. Miller | 2018-05-17 21:41:28 +0200 |
commit | 6ac06ecd3a5d1dd1aaea5c2a8f6d6e4c81d5de6a (patch) | |
tree | 66759ad3e1deda045d5656bd794ac30e54611ca6 /include/net/tcp.h | |
parent | tcp: disable RFC6675 loss detection (diff) | |
download | kernel-qcow2-linux-6ac06ecd3a5d1dd1aaea5c2a8f6d6e4c81d5de6a.tar.gz kernel-qcow2-linux-6ac06ecd3a5d1dd1aaea5c2a8f6d6e4c81d5de6a.tar.xz kernel-qcow2-linux-6ac06ecd3a5d1dd1aaea5c2a8f6d6e4c81d5de6a.zip |
tcp: simpler NewReno implementation
This is a rewrite of NewReno loss recovery implementation that is
simpler and standalone for readability and better performance by
using less states.
Note that NewReno refers to RFC6582 as a modification to the fast
recovery algorithm. It is used only if the connection does not
support SACK in Linux. It should not to be confused with the Reno
(AIMD) congestion control.
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Soheil Hassas Yeganeh <soheil@google.com>
Reviewed-by: Priyaranjan Jha <priyarjha@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tcp.h')
-rw-r--r-- | include/net/tcp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 994f869d793c..9a3ce379b994 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1877,6 +1877,7 @@ void tcp_v4_init(void); void tcp_init(void); /* tcp_recovery.c */ +void tcp_newreno_mark_lost(struct sock *sk, bool snd_una_advanced); extern void tcp_rack_mark_lost(struct sock *sk); extern void tcp_rack_advance(struct tcp_sock *tp, u8 sacked, u32 end_seq, u64 xmit_time); |