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