Skip to content

Commit

Permalink
test server for DSS option
Browse files Browse the repository at this point in the history
This exploits a "feature" in current MPTCP code, i.e. client will ack
packets at TCP level but DACK will be increased only after data are read.
This increased DACK will not reach the MPTCP endpoint unless "something"
(e.g. a write() or a close()) is done at MPTCP socket level.

Related-to: issue #3

Signed-off-by: Davide Caratti <[email protected]>
  • Loading branch information
dcaratti committed Feb 13, 2020
1 parent 8962a70 commit 059e035
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions gtests/net/mptcp/dss/dss_ssn_specified_server.pkt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// connection initiated by packetdrill
--tolerance_usecs=100000
`../common/defaults.sh`


+0 socket(..., SOCK_STREAM, IPPROTO_MPTCP) = 3
+0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0

+0 bind(3, ..., ...) = 0
+0 listen(3, 1) = 0
+0 < S 0:0(0) win 32792 <mss 1460,sackOK,nop,nop,nop,wscale 7,mpcapable v1 flags[flag_h] nokey>
+0 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,nop,wscale 8,mpcapable v1 flags[flag_h] key[skey] >
+0.01 < . 1:1(0) ack 1 win 257 <mpcapable v1 flags[flag_h] key[ckey=2,skey]>
+0 accept(3, ..., ...) = 4

// send 2 data segments and ack them
+0 write(4, ..., 1000) = 1000
+0 > P. 1:1001(1000) ack 1 <dss dack8=1 dsn8=1 ssn=1 dll=1000 nocs, nop, nop>
+0.1 < . 1:1(0) ack 1001 win 225 <dss dack8=1001 dsn8=1 ssn=1 dll=0 nocs, nop, nop>

+0 write(4, ..., 1000) = 1000
+0 > P. 1001:2001(1000) ack 1 <dss dack8=1 dsn8=1001 ssn=1001 dll=1000 nocs, nop, nop>
+0.1 < . 1:1(0) ack 2001 win 225 <dss dack8=2001 dsn8=1 ssn=1 dll=0 nocs, nop, nop>

// read and ack 1 data segment
+0 < P. 1:11(10) ack 2001 win 225 <dss dack8=2001 dsn8=1 ssn=1 dll=10 nocs, nop, nop>
+0 > . 2001:2001(0) ack 11 <dss dack8=1 nocs>
0.3 read(4, ..., 10) = 10
+0 close(4) = 0
+0 > F. 2001:2001(0) ack 11 <dss dack8=11 dsn8=2001 ssn=0 dll=1 nocs fin, nop, nop>

0 comments on commit 059e035

Please sign in to comment.