Page MenuHomeFreeBSD
Authored By
rscheff
Feb 24 2019, 9:49 PM
Size
3 KB
Referenced Files
None
Subscribers
None

dsack-test.pkt

// Testing DSACK
--tolerance_usecs=2000000
// Load and enable DCTCP module and flush hostcache
0.0 `sync` // in case of crash
//+0.1 `tcpdump -i tun0 -w dsack-test.trc tcp &`
+0.1 `sysctl net.inet.tcp.cc.algorithm=newreno`
+0.1 `sysctl net.inet.tcp.initcwnd_segments=10`
+0.1 `sysctl net.inet.tcp.ecn.enable=1`
+0.1 `sysctl net.inet.tcp.hostcache.purgenow=1`
// 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 <mss 1012, sackOK, wscale 10, eol, nop, nop >
+0.00 >[noecn] SE. 0:0(0) ack 1 win 65535 <mss 1460,nop,wscale 6,sackOK,eol,eol>
+0.00 <[noecn] . 1:1(0) ack 1 win 65535
+0.00 accept(3, ..., ...) = 4
+0.01 setsockopt(4, SOL_SOCKET, SO_DEBUG, [1], 4) = 0
// Send IW plus 1 segment, check ECN bits
+0 <[ect0] . 1:1001(1000) ack 1 win 65535
+0 <[ect0] . 1:1001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 1001 <nop, nop, sack 1:1001> // DSACK
+0 <[ect0] . 2001:3001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 1001 <nop, nop, sack 2001:3001> // SACK
+0 <[ect0] . 2001:3001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 1001 <nop, nop, sack 2001:3001> //DSACK
+0 <[noecn] . 1001:2001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 3001
+0 <[ect0] . 3001:4001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001
+0 <[ect0] . 2001:3001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 2001:3001> //DSACK
+0 <[noecn] . 1001:2001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 1001:2001> //DSACK
+0 <[ect0] . 5001:6001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 5001:6001>
+0 <[ect0] . 6001:7001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 5001:7001>
+0 <[noecn] . 1001:2001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 1001:2001 5001:7001>
+0 <[ect0] . 7001:8001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 5001:8001>
+0 <[ect0] . 8001:9001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 5001:9001>
+0 <[noecn] . 4501:5501(1000) ack 1 win 65535 // |---|
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 5001:5501 4501:9001> // |---|
+0 <[noecn] . 8501:9501(1000) ack 1 win 65535 // |---|
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 8501:9001 4501:9501> // |---|
+0 <[noecn] . 5001:6001(1000) ack 1 win 65535 // |-|
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 5001:6001 4501:9501> // |---|
+0 <[ect0] . 9001:10001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 4001 <nop, nop, sack 9001:9501 4501:10001>
+0 <[ect0] . 3801:4801(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 10001
+0 <[noecn] . 1001:2001(1000) ack 1 win 65535
+0 >[noecn] . 1:1(0) ack 10001 <nop, nop, sack 1001:2001>
+0 <[ect0] . 10001:11001(1000) ack 1 win 65535
+0.1 >[noecn] . 1:1(0) ack 11001
+0.1 read(4, ..., 11000) = 11000
+0.1 `pkill -SIGINT tcpdump`
+1.00 close(4) = 0
+0.01 >[noecn] F. 30001:30001(0) ack 1 <...>
+0.10 <[noecn] F. 1:1(0) ack 30002 win 65535
+0.02 >[noecn] . 30002:30002(0) ack 2 <...>

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1761321
Default Alt Text
dsack-test.pkt (3 KB)

Event Timeline