FreeBSD Bugzilla – Attachment 201465 Details for
Bug 235256
[tcp] IW10 without ABC leads to initial window of 11 Segments
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
packetdrill script to validate IW10 behavior without ABC
newreno-slowstart-after-rto.pkt (text/plain), 2.10 KB, created by
Richard Scheffenegger
on 2019-01-27 22:54:12 UTC
(
hide
)
Description:
packetdrill script to validate IW10 behavior without ABC
Filename:
MIME Type:
Creator:
Richard Scheffenegger
Created:
2019-01-27 22:54:12 UTC
Size:
2.10 KB
patch
obsolete
>// A simple server-side test that sends exactly an initial window (IW10) >// worth of packets. > >--tolerance_usecs=700000 > >// Flush Hostcache >0.0 `sysctl net.inet.tcp.cc.algorithm=newreno` >0.1 `sysctl net.inet.tcp.initcwnd_segments=10` >0.15 `sysctl net.inet.tcp.rfc3465=0` >0.2 `sysctl net.inet.tcp.hostcache.purgenow=1` >0.3 `sync` // in case of crash > >// Create a listening TCP socket. > 0.50 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 >+0.005 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 >+0.005 setsockopt(3, SOL_SOCKET, SO_DEBUG, [1], 4) = 0 >+0.005 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [1048576], 4) = 0 >+0.005 bind(3, ..., ...) = 0 >+0.005 listen(3, 1) = 0 > >// Establish a TCP connection with ECN to explicitly track CWR > >+0.035 < SEW 0:0(0) win 65535 <mss 1000, sackOK, wscale 10, eol, nop, nop> >+0.000 > SE. 0:0(0) ack 1 win 65535 <...> >+0.000 < . 1:1(0) ack 1 win 65535 >+0.000 accept(3, ..., ...) = 4 >+0 %{ print "initial window:\t\t cwnd: {} ssthresh: {}".format(tcpi_snd_cwnd, tcpi_snd_ssthresh) >if (tcpi_snd_cwnd != 10001): > print "Error - Initial Window after 3WHS is not equal 10 MSS" >assert tcpi_snd_cwnd == 10001 >}% > >// First, send IW plus 1 segment, drop 2nd packet to pull ssthresh low >0.700 write(4, ..., 15000) = 15000 > >+0 > . 1:1001(1000) ack 1 >+0 %{ print "initial window:\t\t cwnd: {} ssthresh: {}".format(tcpi_snd_cwnd, tcpi_snd_ssthresh) >if (tcpi_snd_cwnd != 10000): > print "Error - Initial Window not equal to 10 MSS!" >assert tcpi_snd_cwnd != 10000 >}% >+0 > . 1001:2001(1000) ack 1 >+0 > . 2001:3001(1000) ack 1 >+0 > . 3001:4001(1000) ack 1 >+0 > . 4001:5001(1000) ack 1 >+0 > . 5001:6001(1000) ack 1 >+0 > . 6001:7001(1000) ack 1 >+0 > . 7001:8001(1000) ack 1 >+0 > . 8001:9001(1000) ack 1 >+0 > . 9001:10001(1000) ack 1 >+0 > . 10001:11001(1000) ack 1 // the eleventh segment (!) > >//RTO >+3 > . 1:1001(1000) ack 1 >+0 %{ print "initial window:\t\t cwnd: {} ssthresh: {}".format(tcpi_snd_cwnd, tcpi_snd_ssthresh) >if (tcpi_snd_cwnd > 1000): > print "Error - Window after RTO larger than 1 MSS!" >assert tcpi_snd_cwnd == 1000 >}% > > >+0.2 close(4) = 0 >+0.01 < F. 1:1(0) ack 60002 win 65535 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 235256
: 201465