|
| 1 | +// All rights reserved. |
| 2 | +// |
| 3 | +// Redistribution and use in source and binary forms, with or without |
| 4 | +// modification, are permitted provided that the following conditions |
| 5 | +// are met: |
| 6 | +// 1. Redistributions of source code must retain the above copyright |
| 7 | +// notice, this list of conditions and the following disclaimer. |
| 8 | +// 2. Redistributions in binary form must reproduce the above copyright |
| 9 | +// notice, this list of conditions and the following disclaimer in the |
| 10 | +// documentation and/or other materials provided with the distribution. |
| 11 | +// |
| 12 | +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
| 13 | +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| 14 | +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| 15 | +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
| 16 | +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| 17 | +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| 18 | +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| 19 | +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| 20 | +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| 21 | +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| 22 | +// SUCH DAMAGE. |
| 23 | +// |
| 24 | + |
| 25 | +--ip_version=ipv4 |
| 26 | +--tolerance_usecs=50000 |
| 27 | + |
1 | 28 | 0.00 `sysctl -w net.inet.tcp.hostcache.purgenow=1`
|
2 | 29 | +0.00 `sysctl -w net.inet.tcp.syncookies_only=0`
|
3 | 30 | +0.00 `sysctl -w net.inet.tcp.syncookies=1`
|
|
11 | 38 | +0.00 fcntl(3, F_SETFL, O_RDWR | O_NONBLOCK) = 0
|
12 | 39 | +0.00 setsockopt(3, IPPROTO_TCP, TCP_NOOPT, [1], 4) = 0
|
13 | 40 | +0.00 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
|
14 |
| -+0.00 > S 0:0(0) win 65535 |
15 |
| -+0.05 < S 0:0(0) win 65535 <sackOK, TS val 100 ecr 0> |
16 |
| -+0.00 > S. 0:0(0) ack 1 win 65535 |
17 |
| -+0.00 < . 1:1(0) ack 1 win 65535 |
| 41 | ++0.00 > S 0:0(0) win 65535 |
| 42 | ++0.05 < S 0:0(0) win 65535 <sackOK,TS val 100 ecr 0> |
| 43 | ++0.00 > S. 0:0(0) ack 1 win 65535 |
| 44 | ++0.00 < . 1:1(0) ack 1 win 65535 |
18 | 45 | +0.00 %{ assert tcpi_state == TCPI_ESTABLISHED }%
|
19 | 46 | +0.00 %{ assert tcpi_options == 0}%
|
20 | 47 | +0.05 write(3, ..., 5360) = 5360
|
21 |
| -+0.00 > . 1:537(536) ack 1 win 65535 |
22 |
| -+0.00 > . 537:1073(536) ack 1 win 65535 |
23 |
| -+0.00 > . 1073:1609(536) ack 1 win 65535 |
24 |
| -+0.00 > . 1609:2145(536) ack 1 win 65535 |
25 |
| -+0.00 > . 2145:2681(536) ack 1 win 65535 |
26 |
| -+0.00 > . 2681:3217(536) ack 1 win 65535 |
27 |
| -+0.00 > . 3217:3753(536) ack 1 win 65535 |
28 |
| -+0.00 > . 3753:4289(536) ack 1 win 65535 |
29 |
| -+0.00 > . 4289:4825(536) ack 1 win 65535 |
30 |
| -+0.00 > P. 4825:5361(536) ack 1 win 65535 |
| 48 | ++0.00 > . 1:537(536) ack 1 win 65535 |
| 49 | ++0.00 > . 537:1073(536) ack 1 win 65535 |
| 50 | ++0.00 > . 1073:1609(536) ack 1 win 65535 |
| 51 | ++0.00 > . 1609:2145(536) ack 1 win 65535 |
| 52 | ++0.00 > . 2145:2681(536) ack 1 win 65535 |
| 53 | ++0.00 > . 2681:3217(536) ack 1 win 65535 |
| 54 | ++0.00 > . 3217:3753(536) ack 1 win 65535 |
| 55 | ++0.00 > . 3753:4289(536) ack 1 win 65535 |
| 56 | ++0.00 > . 4289:4825(536) ack 1 win 65535 |
| 57 | ++0.00 > P. 4825:5361(536) ack 1 win 65535 |
31 | 58 |
|
32 | 59 | // Validate DupThresh loss recovery works
|
33 |
| -+0.01 < . 1:1(0) ack 537 win 65535 |
34 |
| -+0.01 < . 1:1(0) ack 537 win 65535 |
35 |
| -+0.01 < . 1:1(0) ack 537 win 65535 |
36 |
| -+0.01 < . 1:1(0) ack 537 win 65535 |
37 |
| -+0.00 > . 537:1073(536) ack 1 win 65535 |
| 60 | ++0.01 < . 1:1(0) ack 537 win 65535 |
| 61 | ++0.01 < . 1:1(0) ack 537 win 65535 |
| 62 | ++0.01 < . 1:1(0) ack 537 win 65535 |
| 63 | ++0.01 < . 1:1(0) ack 537 win 65535 |
| 64 | ++0.00 > . 537:1073(536) ack 1 win 65535 |
38 | 65 |
|
39 | 66 | // Verify that no SACK block is sent out
|
40 |
| -+0.00 < . 10:20(10) ack 5361 win 65535 |
41 |
| -+0.00 > . 5361:5361(0) ack 1 win 65535 |
| 67 | ++0.00 < . 10:20(10) ack 5361 win 65535 |
| 68 | ++0.00 > . 5361:5361(0) ack 1 win 65535 |
42 | 69 |
|
43 | 70 | +0.01 close(3) = 0
|
0 commit comments