tcp: simpler NewReno implementation
authorYuchung Cheng <ycheng@google.com>
Wed, 16 May 2018 23:40:12 +0000 (16:40 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 May 2018 19:41:28 +0000 (15:41 -0400)
commit6ac06ecd3a5d1dd1aaea5c2a8f6d6e4c81d5de6a
tree66759ad3e1deda045d5656bd794ac30e54611ca6
parentb38a51fec1c1f693f03b1aa19d0622123634d4b7
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>
include/net/tcp.h
net/ipv4/tcp_input.c
net/ipv4/tcp_recovery.c