aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/linkmode.h
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2023-11-14 17:23:41 +0000
committerDavid S. Miller <davem@davemloft.net>2023-11-16 23:35:12 +0000
commit0a8de364ff7a14558e9676f424283148110384d6 (patch)
treec173673d5fb2dc3dd62efba9e2cc6d4fc5b015a9 /include/linux/linkmode.h
parenttcp: use tp->total_rto to track number of linear timeouts in SYN_SENT state (diff)
downloadlinux-rng-0a8de364ff7a14558e9676f424283148110384d6.tar.xz
linux-rng-0a8de364ff7a14558e9676f424283148110384d6.zip
tcp: no longer abort SYN_SENT when receiving some ICMP
Currently, non fatal ICMP messages received on behalf of SYN_SENT sockets do call tcp_ld_RTO_revert() to implement RFC 6069, but immediately call tcp_done(), thus aborting the connect() attempt. This violates RFC 1122 following requirement: 4.2.3.9 ICMP Messages ... o Destination Unreachable -- codes 0, 1, 5 Since these Unreachable messages indicate soft error conditions, TCP MUST NOT abort the connection, and it SHOULD make the information available to the application. This patch makes sure non 'fatal' ICMP[v6] messages do not abort the connection attempt. It enables RFC 6069 for SYN_SENT sockets as a result. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: David Morley <morleyd@google.com> Cc: Neal Cardwell <ncardwell@google.com> Cc: Yuchung Cheng <ycheng@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/linkmode.h')
0 files changed, 0 insertions, 0 deletions