// Testing PRR, trying to end up with cwnd after LR --tolerance_usecs=2000000 0.0 `sysctl net.inet.tcp.cc.algorithm=newreno` +0.0 `sysctl net.inet.tcp.initcwnd_segments=10` +0.0 `sysctl net.inet.tcp.do_prr=1` +0.0 `sysctl net.inet.tcp.hostcache.purgenow=1` +0.0 `dmesg -c` // Create a listening TCP socket. +0.50 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0.01 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0.01 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [1048576], 4) = 0 +0.01 setsockopt(3, SOL_SOCKET, SO_DEBUG, [1], 4) = 0 +0.01 bind(3, ..., ...) = 0 +0.01 listen(3, 1) = 0 // Establish a TCP connection. +0.04 <[noecn] SEW 0:0(0) win 65535 +0.00 >[noecn] SE. 0:0(0) ack 1 win 65535 <...> +0.00 <[noecn] . 1:1(0) ack 1 win 65535 +0.00 accept(3, ..., ...) = 4 // Send IW10 + 4 packets 1.00 write(4, ..., 14000) = 14000 +0 >[ect0] . 1:1001(1000) ack 1 <...> +0 >[ect0] . 1001:2001(1000) ack 1 <...> +0 >[ect0] . 2001:3001(1000) ack 1 <...> +0 >[ect0] . 3001:4001(1000) ack 1 <...> +0 >[ect0] . 4001:5001(1000) ack 1 <...> +0 >[ect0] . 5001:6001(1000) ack 1 <...> +0 >[ect0] . 6001:7001(1000) ack 1 <...> +0 >[ect0] . 7001:8001(1000) ack 1 <...> +0 >[ect0] . 8001:9001(1000) ack 1 <...> +0 >[ect0] . 9001:10001(1000) ack 1 <...> //+0.01 <[noecn] . 1:1(0) ack 1 win 65535 //+0.01 <[noecn] . 1:1(0) ack 1 win 65535 //+0.01 <[noecn] . 1:1(0) ack 1 win 65535 //+0.01 <[noecn] . 1:1(0) ack 1 win 65535 //+0.01 <[noecn] . 1:1(0) ack 1 win 65535 //+0.01 <[noecn] . 1:1(0) ack 1 win 65535 //+0.01 <[noecn] . 1:1(0) ack 1 win 65535 +0.01 <[noecn] . 1:1(0) ack 1 win 65535 +0 >[ect0] . 10001:11001(1000) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 1 win 65535 +0 >[noecn] . 1:1001(1000) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 1001 win 65535 +0 >[noecn] . 1001:2001(1000) ack 1 <...> +0 >[noecn] . 2001:3001(1000) ack 1 <...> +0 >[noecn] . 3001:4001(1000) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 2001 win 65535 +0 >[noecn] . 4001:5001(1000) ack 1 <...> +0 >[noecn] . 5001:6001(1000) ack 1 <...> +0 >[noecn] . 6001:7001(1000) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 3001 win 65535 +0 >[noecn] . 7001:8001(1000) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 4001 win 65535 +0 >[ect0] W. 11001:12001(1000) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 5001 win 65535 +0 >[ect0] . 12001:13001(1000) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 6001 win 65535 +0 >[ect0] P. 13001:14001(1000) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 7001 win 65535 +0 >[noecn] . 14001:14001(0) ack 1 <...> +0.01 <[noecn] . 1:1(0) ack 10001 win 65535 +0 >[noecn] . 14001:14001(0) ack 1 <...> +0.00 close(4) = 0