[TCP]: TCP_DEFER_ACCEPT updates - process as established
Change TCP_DEFER_ACCEPT implementation so that it transitions a connection to ESTABLISHED after handshake is complete instead of leaving it in SYN-RECV until some data arrvies. Place connection in accept queue when first data packet arrives from slow path. Benefits: - established connection is now reset if it never makes it to the accept queue - diagnostic state of established matches with the packet traces showing completed handshake - TCP_DEFER_ACCEPT timeouts are expressed in seconds and can now be enforced with reasonable accuracy instead of rounding up to next exponential back-off of syn-ack retry. Signed-off-by:Patrick McManus <mcmanus@ducksong.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- include/linux/tcp.h 7 additions, 0 deletionsinclude/linux/tcp.h
- include/net/request_sock.h 2 additions, 2 deletionsinclude/net/request_sock.h
- include/net/tcp.h 1 addition, 0 deletionsinclude/net/tcp.h
- net/ipv4/inet_connection_sock.c 3 additions, 8 deletionsnet/ipv4/inet_connection_sock.c
- net/ipv4/tcp.c 7 additions, 11 deletionsnet/ipv4/tcp.c
- net/ipv4/tcp_input.c 46 additions, 0 deletionsnet/ipv4/tcp_input.c
- net/ipv4/tcp_ipv4.c 8 additions, 0 deletionsnet/ipv4/tcp_ipv4.c
- net/ipv4/tcp_minisocks.c 20 additions, 12 deletionsnet/ipv4/tcp_minisocks.c
- net/ipv4/tcp_timer.c 5 additions, 0 deletionsnet/ipv4/tcp_timer.c
Loading
Please register or sign in to comment