Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F5166516
dsack-fin.pkt
tuexen (Michael Tuexen)
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
tuexen
Sep 8 2019, 8:30 PM
2019-09-08 20:30:56 (UTC+0)
Size
2 KB
Referenced Files
None
Subscribers
None
dsack-fin.pkt
View Options
//
// Copyright (c) 2019 Michael Tuexen
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
--ip_version=ipv4
--tolerance_usecs=10000
// Ensure that all relevant sysctl variables have their default variables.
0.000 `sysctl -w net.inet.tcp.sack.enable=1`
// Flush host cache.
+0.000 `sysctl -w net.inet.tcp.hostcache.purgenow=1`
// Create a listening TCP socket
+0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0.000 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
+0.000 bind(3, ..., ...) = 0
+0.000 listen(3, 1) = 0
// Establish the connection
+0.000 < S 0:0(0) win 65535 <mss 1460,sackOK,eol,eol>
+0.000 > S. 0:0(0) ack 1 win 65535 <mss 1460,sackOK,eol,eol>
+0.010 < . 1:1(0) ack 1 win 65535
+0.000 accept(3, ..., ...) = 4
+0.000 close(3) = 0
// Prepare receiver.
+0.000 < . 1:100(99) ack 1 win 65535
+0.000 recv(4, ..., 1024, MSG_PEEK) = 99
+0.000 < . 200:300(100) ack 1 win 65535
+0.000 > . 1:1(0) ack 100 win 65535 <nop,nop,sack 200:300>
+0.00 recv(4, ..., 1024, MSG_PEEK) = 99
// Finish
+0.000 < F. 300:300(00) ack 1 win 65535
+0.000 > . 1:1(0) ack 100 win 65535 <nop,nop,sack 200:300>
+0.000 recv(4, ..., 1024, MSG_PEEK) = 99
+0.000 < F. 1:300(299) ack 1 win 65535
+0.000 > . 1:1(0) ack 301 win 65401 <nop,nop,sack 1:100>
+0.000 recv(4, ..., 1024, 0) = 299
+0.000 recv(4, ..., 1024, 0) = 0
// Teardown the connection
+0.000 close(4) = 0
+0.000 > F. 1:1(0) ack 301 win 65535
+0.010 < . 301:301(0) ack 2 win 65535
File Metadata
Details
Attached
Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2169560
Default Alt Text
dsack-fin.pkt (2 KB)
Attached To
Mode
D21567: Improve DSACK computation
Attached
Detach File
Event Timeline
Log In to Comment