xref: /linux/tools/testing/selftests/net/packetdrill/tcp_old_ack_ts.pkt (revision 81fe707ae58e67e5a029a9778c4b0c1b478bcb97)
1*81fe707aSJeff Jo// SPDX-License-Identifier: GPL-2.0
2*81fe707aSJeff Jo// An out-of-order segment advances SND.UNA. The gap filler still carries
3*81fe707aSJeff Jo// its original, older ACK. The reply must echo the gap filler's timestamp.
4*81fe707aSJeff Jo--tcp_ts_tick_usecs=1000
5*81fe707aSJeff Jo
6*81fe707aSJeff Jo`./defaults.sh`
7*81fe707aSJeff Jo
8*81fe707aSJeff Jo0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
9*81fe707aSJeff Jo+0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
10*81fe707aSJeff Jo+0 bind(3, ..., ...) = 0
11*81fe707aSJeff Jo+0 listen(3, 1) = 0
12*81fe707aSJeff Jo0.100 < S 0:0(0) win 20000 <mss 1000,sackOK,TS val 900 ecr 0>
13*81fe707aSJeff Jo+0 > S. 0:0(0) ack 1 <mss 1460,sackOK,TS val 100 ecr 900>
14*81fe707aSJeff Jo0.200 < . 1:1(0) ack 1 win 20000 <nop,nop,TS val 1000 ecr 100>
15*81fe707aSJeff Jo+0 accept(3, ..., ...) = 4
16*81fe707aSJeff Jo0.300 write(4, ..., 17) = 17
17*81fe707aSJeff Jo+0 > P. 1:18(17) ack 1 <nop,nop,TS val 300 ecr 1000>
18*81fe707aSJeff Jo0.310 < P. 18:35(17) ack 18 win 20000 <nop,nop,TS val 301001 ecr 300>
19*81fe707aSJeff Jo+0 > . 18:18(0) ack 1 <nop,nop,TS val 310 ecr 1000,nop,nop,sack 18:35>
20*81fe707aSJeff Jo0.320 < P. 1:18(17) ack 1 win 20000 <nop,nop,TS val 301000 ecr 100>
21*81fe707aSJeff Jo+0 > . 18:18(0) ack 35 <nop,nop,TS val 320 ecr 301000>
22*81fe707aSJeff Jo+0 read(4, ..., 34) = 34
23