xref: /linux/tools/testing/selftests/net/packetdrill/tcp_fastopen_server_reset-after-disconnect.pkt (revision cbf658dd09419f1ef9de11b9604e950bdd5c170b)
1*1fd03622SKuniyuki Iwashima// SPDX-License-Identifier: GPL-2.0
2*1fd03622SKuniyuki Iwashima`./defaults.sh
3*1fd03622SKuniyuki Iwashima ./set_sysctls.py /proc/sys/net/ipv4/tcp_fastopen=0x602 /proc/sys/net/ipv4/tcp_timestamps=0`
4*1fd03622SKuniyuki Iwashima
5*1fd03622SKuniyuki Iwashima    0 socket(..., SOCK_STREAM|SOCK_NONBLOCK, IPPROTO_TCP) = 3
6*1fd03622SKuniyuki Iwashima   +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
7*1fd03622SKuniyuki Iwashima   +0 bind(3, ..., ...) = 0
8*1fd03622SKuniyuki Iwashima   +0 listen(3, 1) = 0
9*1fd03622SKuniyuki Iwashima
10*1fd03622SKuniyuki Iwashima   +0 < S 0:10(10) win 32792 <mss 1460,nop,nop,sackOK>
11*1fd03622SKuniyuki Iwashima   +0 > S. 0:0(0) ack 11 win 65535 <mss 1460,nop,nop,sackOK>
12*1fd03622SKuniyuki Iwashima
13*1fd03622SKuniyuki Iwashima// sk->sk_state is TCP_SYN_RECV
14*1fd03622SKuniyuki Iwashima  +.1 accept(3, ..., ...) = 4
15*1fd03622SKuniyuki Iwashima
16*1fd03622SKuniyuki Iwashima// tcp_disconnect() sets sk->sk_state to TCP_CLOSE
17*1fd03622SKuniyuki Iwashima   +0 connect(4, AF_UNSPEC, ...) = 0
18*1fd03622SKuniyuki Iwashima   +0 > R. 1:1(0) ack 11 win 65535
19*1fd03622SKuniyuki Iwashima
20*1fd03622SKuniyuki Iwashima// connect() sets sk->sk_state to TCP_SYN_SENT
21*1fd03622SKuniyuki Iwashima   +0 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0
22*1fd03622SKuniyuki Iwashima   +0 connect(4, ..., ...) = -1 EINPROGRESS (Operation is now in progress)
23*1fd03622SKuniyuki Iwashima   +0 > S 0:0(0) win 65535 <mss 1460,nop,nop,sackOK,nop,wscale 8>
24*1fd03622SKuniyuki Iwashima
25*1fd03622SKuniyuki Iwashima// tp->fastopen_rsk must be NULL
26*1fd03622SKuniyuki Iwashima   +1 > S 0:0(0) win 65535 <mss 1460,nop,nop,sackOK,nop,wscale 8>
27