diff --git a/gtests/net/packetdrill/tests/bsd/sctp/sctp_hb.pkt b/gtests/net/packetdrill/tests/bsd/sctp/sctp_hb.pkt new file mode 100644 index 0000000000000000000000000000000000000000..0869034e21a5ede4a42d0f56a138f61156d0ebd1 --- /dev/null +++ b/gtests/net/packetdrill/tests/bsd/sctp/sctp_hb.pkt @@ -0,0 +1,21 @@ + 0.0 `sysctl -w net.inet.sctp.heartbeat_interval=100` +// First, actively establish an SCTP assocation ++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.1 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress) ++0.0 > sctp: INIT[tag=1 tsn=1] // FIXME ++0.0 < sctp: INIT_ACK[tag=2 a_rwnd=1500 os=1 is =1 tsn=1] // FIXME ++0.0 > sctp: COOKIE_ECHO[] // FIXME ++0.0 < sctp: COOKIE_ACK[] ++0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 +// then respond to two HEARTBEATs + * > sctp: HEARTBEAT[] ++0.0 < sctp: HEARTBEAT_ACK[] + * > sctp: HEARTBEAT[] ++0.0 < sctp: HEARTBEAT_ACK[] +// and finally perform a graceful shutdown ++0.0 close(3) = 0 ++0.0 > sctp: SHUTDOWN[tsn=0] ++0.0 < sctp: SHUTDOWN_ACK[] ++0.0 > sctp: SHUTDOWN_COMPLETE[]