Re: [PATCH net-next] tcp: temporarily disable Fast Open on SYN timeout
From: David Miller <davem@davemloft.net>
Date: 2013-10-30 02:51:24
From: David Miller <davem@davemloft.net>
Date: 2013-10-30 02:51:24
From: Yuchung Cheng <redacted> Date: Tue, 29 Oct 2013 10:09:05 -0700
Fast Open currently has a fall back feature to address SYN-data
being dropped by but it requires the middle-box to pass on regular
SYN retry after SYN-data. This is implemented in commit aab487435
("net-tcp: Fast Open client - detecting SYN-data drops")
However some NAT boxes will drop all subsequent packets after first
SYN-data and blackholes the entire connections. An example is incommit
356d7d8 "netfilter: nf_conntrack: fix tcp_in_window for Fast Open".
The sender should note such incidents and falls back to use regular
TCP handshake on subsequent attempt temporarily as well: after the
second SYN timeouts the original Fast Open SYN is most likely lost.
When such an event recurs Fast Open is disabled based on the number
of recurrences exponentially.
Signed-off-by: Yuchung Cheng <redacted>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>Applied, thanks.