Skip to content
Snippets Groups Projects
Commit e33a7248 authored by hoelscher's avatar hoelscher
Browse files

add test for cmsgs in api_test

parent 3a0b152b
No related branches found
No related tags found
No related merge requests found
--tolerance_usecs=100000
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.0 bind(3, ..., ...) = 0
// Check the handshake with an empty(!) cookie
+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.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=16, is=16, tsn=1, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
//recvmsg(sd, msghdr, flags)
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS,
{spp_assoc_id=0,
spp_address=...,
spp_hbinterval=0,
spp_pathmaxrxt=8,
spp_pathmtu=1468,
spp_flags=SPP_HB_DISABLE,
spp_ipv6_flowlabel=0,
spp_dscp=0}, 152) = 0
//base test
+0.0 < sctp: DATA[flgs=IBE, len=1016, tsn=1, sid=0, ssn=0, ppid=0]
* > sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=..., gaps=[], dups=[]]
+0.0 recvmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(0)=[],
msg_flags=MSG_EOR}, 0) = 1000
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RECVRCVINFO, [1], 4) = 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RECVNXTINFO, [0], 4) = 0
+0.0 < sctp: DATA[flgs=IUBE, len=1016, tsn=2, sid=0, ssn=0, ppid=0]
* > sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=..., gaps=[], dups=[]]
+0.0 recvmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(40)=[{cmsg_len=40,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_RCVINFO,
cmsg_data={rcv_sid=0,
rcv_ssn=0,
rcv_flags=SCTP_UNORDERED,
rcv_ppid=htonl(0),
rcv_tsn=2,
rcv_cumtsn=2,
rcv_context=0,
rcv_assoc_id=...}}],
msg_flags=MSG_EOR}, 0) = 1000
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RECVRCVINFO, [0], 4) = 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RECVNXTINFO, [1], 4) = 0
+0.0 < sctp: DATA[flgs=IBE, len=1016, tsn=3, sid=0, ssn=1, ppid=0]
* > sctp: SACK[flgs=0, cum_tsn=3, a_rwnd=..., gaps=[], dups=[]]
+0.0 < sctp: DATA[flgs=IBE, len=1016, tsn=4, sid=0, ssn=2, ppid=1234]
* > sctp: SACK[flgs=0, cum_tsn=4, a_rwnd=..., gaps=[], dups=[]]
+0.0 recvmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(28)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_NXTINFO,
cmsg_data={nxt_sid=0,
nxt_flags=SCTP_COMPLETE,
nxt_ppid=htonl(1234),
nxt_length=1000,
nxt_assoc_id=...}}],
msg_flags=MSG_EOR}, 0) = 1000
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RECVRCVINFO, [1], 4) = 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RECVNXTINFO, [1], 4) = 0
+0.0 < sctp: DATA[flgs=IUBE, len=1016, tsn=5, sid=0, ssn=0, ppid=9876]
* > sctp: SACK[flgs=0, cum_tsn=5, a_rwnd=..., gaps=[], dups=[]]
+0.0 recvmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(68)=[{cmsg_len=40,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_RCVINFO,
cmsg_data={rcv_sid=0,
rcv_ssn=2,
rcv_flags=0,
rcv_ppid=htonl(1234),
rcv_tsn=4,
rcv_cumtsn=5,
rcv_context=0,
rcv_assoc_id=...}},
{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_NXTINFO,
cmsg_data= {nxt_sid=0,
nxt_flags=SCTP_UNORDERED|SCTP_COMPLETE,
nxt_ppid=htonl(9876),
nxt_length=1000,
nxt_assoc_id=...}}],
msg_flags=MSG_EOR}, 0) = 1000
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RECVRCVINFO, [0], 4) = 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_RECVNXTINFO, [0], 4) = 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_EVENTS, {sctp_data_io_event=1,
sctp_association_event=0,
sctp_address_event=0,
sctp_send_failure_event=0,
sctp_peer_error_event=0,
sctp_shutdown_event=0,
sctp_partial_delivery_event=0,
sctp_adaptation_layer_event=0,
sctp_authentication_event=0,
sctp_sender_dry_event=0}, 11) = 0
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_USE_EXT_RCVINFO, [0], 4) = 0
+0.0 recvmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(140)=[{cmsg_len=140,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDRCV,
cmsg_data={sinfo_stream=0,
sinfo_ssn=0,
sinfo_flags=SCTP_UNORDERED,
sinfo_ppid=htonl(9876),
sinfo_context=0,
sinfo_timetolive=0,
sinfo_tsn=5,
sinfo_cumtsn=5,
sinfo_assoc_id=...}}],
msg_flags=MSG_EOR}, 0) = 1000
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_USE_EXT_RCVINFO, [1], 4) = 0
+0.0 < sctp: DATA[flgs=IBE, len=1016, tsn=6, sid=0, ssn=3, ppid=9877]
* > sctp: SACK[flgs=0, cum_tsn=6, a_rwnd=..., gaps=[], dups=[]]
+0.0 recvmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(140)=[{cmsg_len=140,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_EXTRCV,
cmsg_data={sinfo_stream=0,
sinfo_ssn=3,
sinfo_flags=0,
sinfo_ppid=htonl(9877),
sinfo_context=0,
sinfo_pr_value=0,
sinfo_tsn=6,
sinfo_cumtsn=6,
serinfo_next_flags=0,
serinfo_next_stream=0,
serinfo_next_aid=0,
serinfo_next_length=0,
serinfo_next_ppid=htonl(0),
sinfo_assoc_id=...}}],
msg_flags=MSG_EOR}, 0) = 1000
+0.0 < sctp: DATA[flgs=IBE, len=1016, tsn=7, sid=0, ssn=4, ppid=9878]
* > sctp: SACK[flgs=0, cum_tsn=7, a_rwnd=..., gaps=[], dups=[]]
+0.0 < sctp: DATA[flgs=IUBE, len=1016, tsn=8, sid=1, ssn=0, ppid=9879]
* > sctp: SACK[flgs=0, cum_tsn=8, a_rwnd=..., gaps=[], dups=[]]
+0.0 recvmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(140)=[{cmsg_len=140,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_EXTRCV,
cmsg_data={sinfo_stream=0,
sinfo_ssn=4,
sinfo_flags=0,
sinfo_ppid=htonl(9878),
sinfo_context=0,
sinfo_pr_value=0,
sinfo_tsn=7,
sinfo_cumtsn=8,
serinfo_next_flags=SCTP_NEXT_MSG_AVAIL|SCTP_NEXT_MSG_ISCOMPLETE|SCTP_NEXT_MSG_IS_UNORDERED,
serinfo_next_stream=1,
serinfo_next_aid=...,
serinfo_next_length=1000,
serinfo_next_ppid=htonl(9879),
sinfo_assoc_id=...}}],
msg_flags=MSG_EOR}, 0) = 1000
--tolerance_usecs=100000
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.0 bind(3, ..., ...) = 0
// Check the handshake with an empty(!) cookie
+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.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=16, is=16, tsn=1, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
//sendmsg(sd, msghdr, flags)
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=0,
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
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(0)=[],
msg_flags=0}, 0) = 1000
* > 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=[]]
//base test
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(28)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(3),
snd_context=2,
snd_assoc_id=0}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=2, sid=2, ssn=0, ppid=3]
+0.0 < sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=1500, gaps=[], dups=[]]
// test with 2 cmsg
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(44)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(4),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=16,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_DSTADDRV4,
cmsg_data={sa_family=AF_INET,
sin_port=htons(8080),
sin_addr=inet_addr("192.0.2.1")}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=3, sid=2, ssn=1, ppid=4]
+0.0 < sctp: SACK[flgs=0, cum_tsn=3, a_rwnd=1500, gaps=[], dups=[]]
// test with 2 cmsg
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(64)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(5),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=16,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_DSTADDRV4,
cmsg_data={sa_family=AF_INET,
sin_port=htons(8080),
sin_addr=inet_addr("192.0.2.1")}},
{cmsg_len=18,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_PRINFO,
cmsg_data={pr_policy=SCTP_PR_SCTP_TTL, pr_value=30}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=4, sid=2, ssn=2, ppid=5]
+0.0 < sctp: SACK[flgs=0, cum_tsn=4, a_rwnd=1500, gaps=[], dups=[]]
// test with 4 cmsg
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(80)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(6),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=16,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_DSTADDRV4,
cmsg_data={sa_family=AF_INET,
sin_port=htons(8080),
sin_addr=inet_addr("192.0.2.1")}},
{cmsg_len=18,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_PRINFO,
cmsg_data={pr_policy=SCTP_PR_SCTP_TTL, pr_value=30}},
{cmsg_len=14,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_AUTHINFO,
cmsg_data={auth_keynumber=123}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=5, sid=2, ssn=3, ppid=6]
+0.0 < sctp: SACK[flgs=0, cum_tsn=5, a_rwnd=1500, gaps=[], dups=[]]
//test for sndrcvinfo
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(168)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(6),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=140,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDRCV,
cmsg_data={sinfo_stream=3,
sinfo_ssn=3,
sinfo_flags=0,
sinfo_ppid=htonl(7),
sinfo_context=0,
sinfo_timetolive=0,
sinfo_tsn=6,
sinfo_cumtsn=6,
sinfo_assoc_id=3}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=6, sid=3, ssn=0, ppid=7]
+0.0 < sctp: SACK[flgs=0, cum_tsn=6, a_rwnd=1500, gaps=[], dups=[]]
+0.0 close(3) = 0
+0.0 > sctp: SHUTDOWN[flgs=0, cum_tsn=0]
+0.1 < sctp: SHUTDOWN_ACK[flgs=0]
+0.0 > sctp: SHUTDOWN_COMPLETE[flgs=0]
--tolerance_usecs=100000
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.0 bind(3, ..., ...) = 0
// Check the handshake with an empty(!) cookie
+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.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=16, is=16, tsn=1, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
//sendmsg(sd, msghdr, flags)
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=0,
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
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(44)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(6),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=16,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_AUTHINFO,
cmsg_data={auth_keynumber=123}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=1, sid=2, ssn=0, ppid=6]
+0.0 < sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=1500, gaps=[], dups=[]]
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(16)=[{cmsg_len=16,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_AUTHINFO,
cmsg_data={auth_keynumber=123}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=2, sid=0, ssn=0, ppid=0]
+0.0 < sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=1500, gaps=[], dups=[]]
+0.0 close(3) = 0
+0.0 > sctp: SHUTDOWN[flgs=0, cum_tsn=0]
+0.1 < sctp: SHUTDOWN_ACK[flgs=0]
+0.0 > sctp: SHUTDOWN_COMPLETE[flgs=0]
--tolerance_usecs=100000
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.0 bind(3, ..., ...) = 0
// Check the handshake with an empty(!) cookie
+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.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=16, is=16, tsn=1, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
//sendmsg(sd, msghdr, flags)
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=0,
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
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(16)=[{cmsg_len=16,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_DSTADDRV4,
cmsg_data={sa_family=AF_INET,
sin_port=htons(8080),
sin_addr=inet_addr("192.0.2.1")}}],
msg_flags=0}, 0) = 1000
* > 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 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(44)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(5),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=16,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_DSTADDRV4,
cmsg_data={sa_family=AF_INET,
sin_port=htons(8080),
sin_addr=inet_addr("192.0.2.1")}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=2, sid=2, ssn=0, ppid=5]
+0.0 < sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=1500, gaps=[], dups=[]]
+0.0 close(3) = 0
+0.0 > sctp: SHUTDOWN[flgs=0, cum_tsn=0]
+0.1 < sctp: SHUTDOWN_ACK[flgs=0]
+0.0 > sctp: SHUTDOWN_COMPLETE[flgs=0]
--tolerance_usecs=100000
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.0 bind(3, ..., ...) = 0
// Check the handshake with an empty(!) cookie
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(64)=[{cmsg_len=20,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_INIT,
cmsg_data={sinit_num_ostreams=1,
sinit_max_instreams=1,
sinit_max_attempts=1,
sinit_max_init_timeo=100}},
{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(1234),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=16,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_DSTADDRV4,
cmsg_data={sa_family=AF_INET,
sin_port=htons(8080),
sin_addr=inet_addr("192.0.2.1")}}], msg_flags=0}, 0) = 1000
* > sctp: INIT[flgs=0, tag=1, a_rwnd=..., os=..., is=..., tsn=1, ...]
+0.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=16, is=16, tsn=1, STATE_COOKIE[len=4, val=...]]
* > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]; DATA[flgs=BE, len=1016, tsn=1, sid=2, ssn=0, ppid=1234]
+0.1 < sctp: COOKIE_ACK[flgs=0]; SACK[flgs=0, cum_tsn=1, a_rwnd=1500, gaps=[], dups=[]]
--tolerance_usecs=100000
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.0 bind(3, ..., ...) = 0
// Check the handshake with an empty(!) cookie
+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.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=16, is=16, tsn=1, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
//sendmsg(sd, msghdr, flags)
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=0,
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
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(48)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(6),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=20,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_PRINFO,
cmsg_data={pr_policy=SCTP_PR_SCTP_TTL, pr_value=30}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=1, sid=2, ssn=0, ppid=6]
+0.0 < sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=1500, gaps=[], dups=[]]
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(20)=[{cmsg_len=20,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_PRINFO,
cmsg_data={pr_policy=SCTP_PR_SCTP_TTL, pr_value=30}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=2, sid=0, ssn=0, ppid=0]
+0.0 < sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=1500, gaps=[], dups=[]]
+0.0 close(3) = 0
+0.0 > sctp: SHUTDOWN[flgs=0, cum_tsn=0]
+0.1 < sctp: SHUTDOWN_ACK[flgs=0]
+0.0 > sctp: SHUTDOWN_COMPLETE[flgs=0]
--tolerance_usecs=100000
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.0 bind(3, ..., ...) = 0
// Check the handshake with an empty(!) cookie
+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.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=16, is=16, tsn=1, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
//sendmsg(sd, msghdr, flags)
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=0,
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
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(28)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=1,
snd_flags=0,
snd_ppid=htonl(3),
snd_context=2,
snd_assoc_id=0}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=1, sid=1, ssn=0, ppid=3]
+0.0 < sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=1500, gaps=[], dups=[]]
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(28)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=1,
snd_flags=0,
snd_ppid=htonl(3),
snd_context=2,
snd_assoc_id=...}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=2, sid=1, ssn=1, ppid=3]
+0.0 < sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=1500, gaps=[], dups=[]]
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(28)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=3,
snd_flags=0,
snd_ppid=htonl(32),
snd_context=2,
snd_assoc_id=...}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=3, sid=3, ssn=0, ppid=32]
+0.0 < sctp: SACK[flgs=0, cum_tsn=3, a_rwnd=1500, gaps=[], dups=[]]
+0.0 close(3) = 0
+0.0 > sctp: SHUTDOWN[flgs=0, cum_tsn=0]
+0.1 < sctp: SHUTDOWN_ACK[flgs=0]
+0.0 > sctp: SHUTDOWN_COMPLETE[flgs=0]
--tolerance_usecs=100000
0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.0 bind(3, ..., ...) = 0
// Check the handshake with an empty(!) cookie
+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.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=1500, os=16, is=16, tsn=1, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
//sendmsg(sd, msghdr, flags)
+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=0,
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
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(140)=[{cmsg_len=140,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDRCV,
cmsg_data={sinfo_stream=3,
sinfo_ssn=0,
sinfo_flags=SCTP_SENDALL,
sinfo_ppid=htonl(7),
sinfo_context=0,
sinfo_timetolive=0,
sinfo_tsn=1,
sinfo_cumtsn=1,
sinfo_assoc_id=3}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=1, sid=3, ssn=0, ppid=7]
+0.0 < sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=1500, gaps=[], dups=[]]
//test for sndrcvinfo
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(168)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(6),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=140,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDRCV,
cmsg_data={sinfo_stream=3,
sinfo_ssn=3,
sinfo_flags=0,
sinfo_ppid=htonl(7),
sinfo_context=0,
sinfo_timetolive=0,
sinfo_tsn=3,
sinfo_cumtsn=3,
sinfo_assoc_id=3}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=2, sid=3, ssn=1, ppid=7]
+0.0 < sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=1500, gaps=[], dups=[]]
+0.0 sendmsg(3, {msg_name(...)=...,
msg_iov(1)=[{iov_base=..., iov_len=1000}],
msg_control(168)=[{cmsg_len=28,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDINFO,
cmsg_data={snd_sid=2,
snd_flags=0,
snd_ppid=htonl(6),
snd_context=2,
snd_assoc_id=0}},
{cmsg_len=140,
cmsg_level=IPPROTO_SCTP,
cmsg_type=SCTP_SNDRCV,
cmsg_data={sinfo_stream=3,
sinfo_ssn=3,
sinfo_flags=0,
sinfo_ppid=htonl(7),
sinfo_context=0,
sinfo_timetolive=0,
sinfo_tsn=...,
sinfo_cumtsn=...,
sinfo_assoc_id=3}}],
msg_flags=0}, 0) = 1000
* > sctp: DATA[flgs=BE, len=1016, tsn=3, sid=3, ssn=2, ppid=7]
+0.0 < sctp: SACK[flgs=0, cum_tsn=3, a_rwnd=1500, gaps=[], dups=[]]
+0.0 close(3) = 0
+0.0 > sctp: SHUTDOWN[flgs=0, cum_tsn=0]
+0.1 < sctp: SHUTDOWN_ACK[flgs=0]
+0.0 > sctp: SHUTDOWN_COMPLETE[flgs=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