summaryrefslogtreecommitdiffstats
path: root/include/net/tcp.h
diff options
context:
space:
mode:
authorYuchung Cheng2018-05-17 01:40:12 +0200
committerDavid S. Miller2018-05-17 21:41:28 +0200
commit6ac06ecd3a5d1dd1aaea5c2a8f6d6e4c81d5de6a (patch)
tree66759ad3e1deda045d5656bd794ac30e54611ca6 /include/net/tcp.h
parenttcp: disable RFC6675 loss detection (diff)
downloadkernel-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.h1
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);