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[]