xref: /linux/tools/testing/selftests/net/packetdrill/tcp_close_close-local-close-then-remote-fin.pkt (revision 0ad9617c78acbc71373fb341a6f75d4012b01d69)
1*88395c07SSoham Chakradeo// SPDX-License-Identifier: GPL-2.0
2*88395c07SSoham Chakradeo// Test basic connection teardown where local process closes first:
3*88395c07SSoham Chakradeo// the local process calls close() first, so we send a FIN, and receive an ACK.
4*88395c07SSoham Chakradeo// Then we receive a FIN and ACK it.
5*88395c07SSoham Chakradeo
6*88395c07SSoham Chakradeo`./defaults.sh`
7*88395c07SSoham Chakradeo
8*88395c07SSoham Chakradeo    0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
9*88395c07SSoham Chakradeo +.01...0.011 connect(3, ..., ...) = 0
10*88395c07SSoham Chakradeo   +0 >  S 0:0(0) <...>
11*88395c07SSoham Chakradeo   +0 < S. 0:0(0) ack 1 win 32768 <mss 1000,nop,wscale 6,nop,nop,sackOK>
12*88395c07SSoham Chakradeo   +0 >  . 1:1(0) ack 1
13*88395c07SSoham Chakradeo
14*88395c07SSoham Chakradeo   +0 write(3, ..., 1000) = 1000
15*88395c07SSoham Chakradeo   +0 >  P. 1:1001(1000) ack 1
16*88395c07SSoham Chakradeo   +0 < . 1:1(0) ack 1001 win 257
17*88395c07SSoham Chakradeo
18*88395c07SSoham Chakradeo   +0 close(3) = 0
19*88395c07SSoham Chakradeo   +0 >  F. 1001:1001(0) ack 1
20*88395c07SSoham Chakradeo   +0 < . 1:1(0) ack 1002 win 257
21*88395c07SSoham Chakradeo
22*88395c07SSoham Chakradeo   +0 < F. 1:1(0) ack 1002 win 257
23*88395c07SSoham Chakradeo   +0 >  . 1002:1002(0) ack 2
24