Skip to content
Snippets Groups Projects
Commit 42f71b14 authored by Hoelscher's avatar Hoelscher
Browse files

add testcases for reconfig chunk

parent e1d55385
No related branches found
No related tags found
No related merge requests found
--tolerance_usecs=100000
// Create a non-blocking 1-to-1 style socket
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x02 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR | O_NONBLOCK) = 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_ENABLE_STREAM_RESET, {assoc_id=3, assoc_value=SCTP_ENABLE_RESET_STREAM_REQ}, 8) = 0
+0.0 getsockopt(3, IPPROTO_SCTP, SCTP_ENABLE_STREAM_RESET, {assoc_id=3, assoc_value=SCTP_ENABLE_RESET_STREAM_REQ}, [8]) = 0
// Trigger the active associtation setup
+0.1 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
+0.0 > sctp: INIT[flgs=0, tag=1, a_rwnd=..., os=..., is=..., tsn=1, ...]
+0.0 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=1, is=1, tsn=1, STATE_COOKIE[len=4, val=...], SUPPORTED_EXTENSIONS[types=[0x82]]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.0 < sctp: COOKIE_ACK[flgs=0]
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=3,
spp_address={sa_family=AF_INET,
sin_port=htons(8080),
sin_addr=inet_addr("192.0.2.1")},
spp_hbinterval=0,
spp_pathmaxrxt=8,
spp_pathmtu=1468,
spp_flags=SPP_HB_DISABLE,
spp_ipv6_flowlabel=0,
spp_dscp=0}, 152) = 0
// Check if the setup was sucessful
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
// Generate some traffic so the tsn and ssn increase
+0.0 write(3, ..., 1000) = 1000
+0.0 > sctp: DATA[flgs=BE, len=1016, tsn=1, sid=0, ssn=0, ppid=0]
+0.0 < sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=1500, gaps=[], dups=[]]
+0.0 write(3, ..., 1000) = 1000
+0.0 > sctp: DATA[flgs=BE, len=1016, tsn=2, sid=0, ssn=1, ppid=0]
+0.0 < sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=1500, gaps=[], dups=[]]
// Reset Stream 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RESET_STREAMS, {srs_assoc_id=3,
srs_flags=SCTP_STREAM_RESET_OUTGOING,
srs_number_streams=1,
srs_stream_list=[0]}, 10) = 0
+0.0 > sctp: RECONFIG[flgs=0, OUTGOING_SSN_RESET[reqsn=1, respsn=0, last_tsn=1, sids=[0]]]
+1.0 close(3) = 0
--tolerance_usecs=100000
+0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
// Check the handshake with en empty(!) cookie
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_ENABLE_STREAM_RESET, {assoc_id=0, assoc_value=SCTP_ENABLE_RESET_STREAM_REQ}, 8) = 0
+0.0 bind(3, ..., ...) = 0
+0.0 listen(3, 1) = 0
+0.0 < sctp: INIT[flgs=0, tag=1, a_rwnd=1500, os=1, is=1, tsn=1,
ECN_CAPABLE[],
SUPPORTED_EXTENSIONS[types=[RECONFIG]],
COOKIE_PRESERVATIVE[incr=12345],
SUPPORTED_ADDRESS_TYPES[types=[IPv4]]]
+0.0 > sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=..., os=..., is=..., tsn=10, ...]
+0.1 < sctp: COOKIE_ECHO[flgs=0, len=..., val=...]
+0.0 > sctp: COOKIE_ACK[flgs=0]
+0.0 accept(3, ..., ...) = 4
+1.0 write(4, ..., 1000) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=10, sid=0, ssn=0, ppid=0]
+0.1 < sctp: SACK[flgs=0, cum_tsn=10, a_rwnd=1500, gaps=[], dups=[]]
// Send some data.
+1.0 write(4, ..., 1000) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=11, sid=0, ssn=1, ppid=0]
+0.0 < sctp: SACK[flgs=0, cum_tsn=11, a_rwnd=1500, gaps=[], dups=[]]
+0.1 < sctp: DATA[flgs=BE, len=1016, tsn=1, sid=0, ssn=0, ppid=0]
* > sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=..., gaps=[], dups=[]]
+0.0 read(4, ..., 1000) = 1000
+0.1 < sctp: DATA[flgs=BE, len=1016, tsn=2, sid=0, ssn=1, ppid=0]
* > sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=..., gaps=[], dups=[]]
+0.0 read(4, ..., 1000) = 1000
+0 setsockopt(4, IPPROTO_SCTP, SCTP_RESET_STREAMS, {srs_flags=SCTP_STREAM_RESET_OUTGOING,
srs_number_streams=1,
srs_stream_list=[0]}, 10) = 0
+0.0 > sctp: RECONFIG[flgs=0, OUTGOING_SSN_RESET[reqsn=1, respsn=1, last_tsn=11, sids=[0]]]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment