diff --git a/gtests/net/packetdrill/lexer.l b/gtests/net/packetdrill/lexer.l
index 53e33af76bc44dcabe30c85ededd067c10791fc5..4980fdd81f2f576bbcdf50bc91dda24874571639 100644
--- a/gtests/net/packetdrill/lexer.l
+++ b/gtests/net/packetdrill/lexer.l
@@ -242,6 +242,10 @@ spp_ipv6_flowlabel		return SPP_IPV6_FLOWLABEL_; /* avoid name clash */
 spp_dscp			return SPP_DSCP_; /* avoid name clash */
 se_type				return SE_TYPE;
 se_on				return SE_ON;
+snd_sid				return SND_SID;
+snd_flags			return SND_FLAGS;
+snd_ppid			return SND_PPID;
+snd_context			return SND_CONTEXT;
 ssb_adaptation_ind		return SSB_ADAPTATION_IND;
 CHUNK				return CHUNK;
 DATA				return DATA;
diff --git a/gtests/net/packetdrill/parser.y b/gtests/net/packetdrill/parser.y
index 41fb913281f6a29f3a3db8640d0ec12b183aafaa..255215c654cdf1afaa10de300674e0eb77e85df9 100644
--- a/gtests/net/packetdrill/parser.y
+++ b/gtests/net/packetdrill/parser.y
@@ -536,7 +536,8 @@ static struct tcp_option *new_tcp_fast_open_option(const char *cookie_string,
 %token <reserved> SPP_ADDRESS SPP_HBINTERVAL SPP_PATHMAXRXT SPP_PATHMTU
 %token <reserved> SPP_FLAGS SPP_IPV6_FLOWLABEL_ SPP_DSCP_
 %token <reserved> SASOC_ASOCMAXRXT SASOC_NUMBER_PEER_DESTINATIONS SASOC_PEER_RWND 
-%token <reserved> SASOC_LOCAL_RWND SASOC_COOKIE_LIFE SE_TYPE SE_ON SSB_ADAPTATION_IND
+%token <reserved> SASOC_LOCAL_RWND SASOC_COOKIE_LIFE SE_TYPE SE_ON
+%token <reserved> SND_SID SND_FLAGS SND_PPID SND_CONTEXT SSB_ADAPTATION_IND
 %token <floating> FLOAT
 %token <integer> INTEGER HEX_INTEGER
 %token <string> WORD STRING BACK_QUOTED CODE IPV4_ADDR IPV6_ADDR
@@ -585,6 +586,7 @@ static struct tcp_option *new_tcp_fast_open_option(const char *cookie_string,
 %type <expression> spinfo_address spinfo_state spinfo_cwnd spinfo_srtt spinfo_rto spinfo_mtu
 %type <expression> sasoc_asocmaxrxt sasoc_number_peer_destinations sasoc_peer_rwnd 
 %type <expression> sasoc_local_rwnd sasoc_cookie_life sctp_assocparams 
+%type <expression> sctp_sndinfo snd_sid snd_flags snd_ppid snd_context
 %type <expression> sctp_event se_type se_on sctp_setadaptation
 %type <errno_info> opt_errno
 %type <chunk_list> sctp_chunk_list_spec
@@ -2374,6 +2376,9 @@ expression
 | sctp_event        {
 	$$ = $1;
 }
+| sctp_sndinfo      {
+	$$ = $1;
+}
 | sctp_setadaptation{
 	$$ = $1;
 }
@@ -3008,6 +3013,64 @@ sctp_event
 }
 ;
 
+snd_sid 
+: SND_SID '=' INTEGER {
+	if (!is_valid_u16($3)) {
+		semantic_error("snd_sid out of range");
+	}
+	$$ = new_integer_expression($3, "%hu");
+}
+| SND_SID '=' ELLIPSIS { $$ = new_expression(EXPR_ELLIPSIS); }
+;
+
+snd_flags 
+: SND_FLAGS '=' INTEGER {
+	if (!is_valid_u16($3)) {
+		semantic_error("snd_flags out of range");
+	}
+	$$ = new_integer_expression($3, "%hu");
+}
+| SND_FLAGS '=' WORD {
+	$$ = new_expression(EXPR_WORD);
+	$$->value.string = $3; 
+}
+| SND_FLAGS '=' ELLIPSIS { $$ = new_expression(EXPR_ELLIPSIS); }
+;
+
+snd_ppid 
+: SND_PPID '=' INTEGER {
+	if (!is_valid_u32($3)) {
+		semantic_error("snd_ppid out of range");
+	}
+	$$ = new_integer_expression($3, "%u");
+}
+| SND_PPID '=' ELLIPSIS { $$ = new_expression(EXPR_ELLIPSIS); }
+;
+
+snd_context
+: SND_CONTEXT '=' INTEGER {
+	if (!is_valid_u32($3)) {
+		semantic_error("snd_context out of range");
+	}
+	$$ = new_integer_expression($3, "%u");
+}
+| SND_CONTEXT '=' ELLIPSIS { $$ = new_expression(EXPR_ELLIPSIS); }
+;
+
+sctp_sndinfo
+: '{' snd_sid ',' snd_flags ',' snd_ppid ',' snd_context '}' {
+#ifdef SCTP_DEFAULT_SNDINFO
+	$$ = new_expression(EXPR_SCTP_SNDINFO);
+	$$->value.sctp_sndinfo = calloc(1, sizeof(struct sctp_sndinfo));
+	$$->value.sctp_sndinfo->snd_sid = $2;
+	$$->value.sctp_sndinfo->snd_flags = $4;
+	$$->value.sctp_sndinfo->snd_ppid = $6;
+	$$->value.sctp_sndinfo->snd_context = $8;
+#else
+	$$ = NULL;
+#endif
+}
+
 sctp_setadaptation
 : '{' SSB_ADAPTATION_IND '=' INTEGER '}' {
 #ifdef SCTP_ADAPTATION_LAYER
diff --git a/gtests/net/packetdrill/run_system_call.c b/gtests/net/packetdrill/run_system_call.c
index 27954fe7a5010c35ff8fbb69fc94ed7eaa232f08..1849fede9eb6aaefc6afcf48d6c01cf59bdd4105 100644
--- a/gtests/net/packetdrill/run_system_call.c
+++ b/gtests/net/packetdrill/run_system_call.c
@@ -2257,6 +2257,63 @@ static int check_sctp_event(struct sctp_event_expr *expr,
 }
 #endif
 
+#ifdef SCTP_DEFAULT_SNDINFO
+static int check_sctp_sndinfo(struct sctp_sndinfo_expr *expr,
+			      struct sctp_sndinfo *sctp_sndinfo,
+			      char **error)
+{
+	if (expr->snd_sid->type != EXPR_ELLIPSIS) {
+		u16 snd_sid;
+
+		if (get_u16(expr->snd_sid, &snd_sid, error)) {
+			return STATUS_ERR;
+		}
+		if (sctp_sndinfo->snd_sid != snd_sid) {
+			asprintf(error, "Bad getsockopt sctp_sndinfo.snd_sid: expected: %hu actual: %hu",
+				 snd_sid, sctp_sndinfo->snd_sid);
+			return STATUS_ERR;
+		}
+	}
+	if (expr->snd_flags->type != EXPR_ELLIPSIS) {
+		u16 snd_flags;
+
+		if (get_u16(expr->snd_flags, &snd_flags, error)) {
+			return STATUS_ERR;
+		}
+		if (sctp_sndinfo->snd_flags != snd_flags) {
+			asprintf(error, "Bad getsockopt sctp_sndinfo.snd_flags: expected: %hu actual: %hu",
+				 snd_flags, sctp_sndinfo->snd_flags);
+			return STATUS_ERR;
+		}
+	}
+	if (expr->snd_ppid->type != EXPR_ELLIPSIS) {
+		u32 snd_ppid;
+
+		if (get_u32(expr->snd_ppid, &snd_ppid, error)) {
+			return STATUS_ERR;
+		}
+		if (sctp_sndinfo->snd_ppid != snd_ppid) {
+			asprintf(error, "Bad getsockopt sctp_sndinfo.snd_ppid: expected: %u actual: %u",
+				 snd_ppid, sctp_sndinfo->snd_ppid);
+			return STATUS_ERR;
+		}
+	}
+	if (expr->snd_context->type != EXPR_ELLIPSIS) {
+		u32 snd_context;
+
+		if (get_u32(expr->snd_context, &snd_context, error)) {
+			return STATUS_ERR;
+		}
+		if (sctp_sndinfo->snd_context != snd_context) {
+			asprintf(error, "Bad getsockopt sctp_sndinfo.snd_context: expected: %u actual: %u",
+				 snd_context, sctp_sndinfo->snd_context);
+			return STATUS_ERR;
+		}
+	}
+	return STATUS_OK;
+}
+#endif
+
 #ifdef SCTP_ADAPTATION_LAYER
 static int check_sctp_setadaptation(struct sctp_setadaptation_expr *expr,
 				    struct sctp_setadaptation *sctp_setadaptation,
@@ -2346,7 +2403,7 @@ static int syscall_getsockopt(struct state *state, struct syscall_spec *syscall,
 		if (expr_paddrinfo->spinfo_address->type == EXPR_ELLIPSIS) {
 			socklen_t len_addr = sizeof(live_paddrinfo->spinfo_address);
 			if (getpeername(live_fd, (struct sockaddr*) &live_paddrinfo->spinfo_address, &len_addr)) {
-				asprintf(error, "Bad setsockopt, bad get primary peer address");
+				asprintf(error, "Bad getsockopt, bad get primary peer address");
 				free(live_paddrinfo);
 				return STATUS_ERR;
 			}
@@ -2355,7 +2412,7 @@ static int syscall_getsockopt(struct state *state, struct syscall_spec *syscall,
 		} else if (expr_paddrinfo->spinfo_address->type == EXPR_SOCKET_ADDRESS_IPV6) {
 			memcpy(&live_paddrinfo->spinfo_address, expr_paddrinfo->spinfo_address->value.socket_address_ipv6, sizeof(struct sockaddr_in6));
 		} else {
-			asprintf(error, "Bad setsockopt, bad get input for spinfo_address");
+			asprintf(error, "Bad getsockopt, bad get input for spinfo_address");
 			free(live_paddrinfo);
 			return STATUS_ERR;
 		}
@@ -2416,6 +2473,12 @@ static int syscall_getsockopt(struct state *state, struct syscall_spec *syscall,
                         return STATUS_ERR;
                 }
 #endif
+#ifdef SCTP_DEFAULT_SNDINFO
+	} else if (val_expression->type == EXPR_SCTP_SNDINFO) {
+		live_optval = malloc(sizeof(struct sctp_sndinfo));
+		live_optlen = sizeof(struct sctp_sndinfo);
+		((struct sctp_sndinfo *)live_optval)->snd_assoc_id = 0; 
+#endif
 #ifdef SCTP_ADAPTATION_LAYER
 	} else if (val_expression->type == EXPR_SCTP_SETADAPTATION) {
 		live_optval = malloc(sizeof(struct sctp_setadaptation));
@@ -2516,6 +2579,13 @@ static int syscall_getsockopt(struct state *state, struct syscall_spec *syscall,
 			return STATUS_ERR;
 		}
 #endif
+#ifdef SCTP_DEFAULT_SNDINFO
+	} else if (val_expression->type == EXPR_SCTP_SNDINFO) {
+		if (check_sctp_sndinfo(val_expression->value.sctp_sndinfo, live_optval, error)) {
+			free(live_optval);
+			return STATUS_ERR;
+		}
+#endif
 #ifdef SCTP_ADAPTATION_LAYER
 	} else if (val_expression->type == EXPR_SCTP_SETADAPTATION) {
 		if (check_sctp_setadaptation(val_expression->value.sctp_setadaptation, live_optval, error)) {
@@ -2569,6 +2639,9 @@ static int syscall_setsockopt(struct state *state, struct syscall_spec *syscall,
 #ifdef SCTP_EVENT
 	struct sctp_event event;
 #endif
+#ifdef SCTP_DEFAULT_SNDINFO
+	struct sctp_sndinfo sndinfo;
+#endif
 #ifdef SCTP_ADAPTATION_LAYER
 	struct sctp_setadaptation setadaptation;
 #endif
@@ -2761,6 +2834,28 @@ static int syscall_setsockopt(struct state *state, struct syscall_spec *syscall,
 		optval = &event;
 		break;
 #endif
+#ifdef SCTP_DEFAULT_SNDINFO
+	case EXPR_SCTP_SNDINFO:
+		sndinfo.snd_assoc_id = 0;
+		if (get_u16(val_expression->value.sctp_sndinfo->snd_sid,
+			    &sndinfo.snd_sid, error)) {
+			return STATUS_ERR;
+		}
+		if (get_u16(val_expression->value.sctp_sndinfo->snd_flags,
+			    &sndinfo.snd_flags, error)) {
+			return STATUS_ERR;
+		}
+		if (get_u32(val_expression->value.sctp_sndinfo->snd_ppid,
+			    &sndinfo.snd_ppid, error)) {
+			return STATUS_ERR;
+		}
+		if (get_u32(val_expression->value.sctp_sndinfo->snd_context,
+			    &sndinfo.snd_context, error)) {
+			return STATUS_ERR;
+		}
+		optval = &sndinfo;
+		break;
+#endif
 #ifdef SCTP_ADAPTATION_LAYER
 	case EXPR_SCTP_SETADAPTATION:
 		if (get_u32(val_expression->value.sctp_setadaptation->ssb_adaptation_ind,
diff --git a/gtests/net/packetdrill/script.c b/gtests/net/packetdrill/script.c
index 43df660d900898db2a0a28e1867e6f401f970cf2..4f3b93549a30ddd6c21580542ad2630b5631abce 100644
--- a/gtests/net/packetdrill/script.c
+++ b/gtests/net/packetdrill/script.c
@@ -93,10 +93,12 @@ struct expression_type_entry expression_type_table[] = {
 #ifdef SCTP_EVENT
 	{ EXPR_SCTP_EVENT,	     "sctp_event"      },
 #endif
+#ifdef SCTP_DEFAULT_SNDINFO
+	{ EXPR_SCTP_SNDINFO,         "sctp_sndinfo"    },
+#endif
 #ifdef SCTP_ADAPTATION_LAYER
 	{ EXPR_SCTP_SETADAPTATION,   "sctp_setadaptation"},
 #endif
-
 	{ NUM_EXPR_TYPES,            NULL}
 };
 
@@ -394,6 +396,14 @@ void free_expression(struct expression *expression)
 		free_expression(expression->value.sctp_event->se_on);
 		break;
 #endif
+#ifdef SCTP_DEFAULT_SNDINFO
+	case EXPR_SCTP_SNDINFO:
+		free_expression(expression->value.sctp_sndinfo->snd_sid);
+		free_expression(expression->value.sctp_sndinfo->snd_flags);
+		free_expression(expression->value.sctp_sndinfo->snd_ppid);
+		free_expression(expression->value.sctp_sndinfo->snd_context);
+		break;		
+#endif
 #ifdef SCTP_ADAPTATION_LAYER
 	case EXPR_SCTP_SETADAPTATION:
 		free_expression(expression->value.sctp_setadaptation->ssb_adaptation_ind);
@@ -959,6 +969,43 @@ static int evaluate_sctp_accocparams_expression(struct expression *in,
 }
 #endif
 
+#ifdef SCTP_DEFAULT_SNDINFO
+static int evaluate_sctp_sndinfo_expression(struct expression *in,
+					    struct expression *out,
+					    char **error)
+{
+	struct sctp_sndinfo_expr *in_sndinfo;
+	struct sctp_sndinfo_expr *out_sndinfo;
+
+	assert(in->type == EXPR_SCTP_SNDINFO);
+	assert(in->value.sctp_sndinfo);
+	assert(out->type == EXPR_SCTP_SNDINFO);
+
+	out->value.sctp_sndinfo = calloc(1, sizeof(struct sctp_sndinfo_expr));
+
+	in_sndinfo = in->value.sctp_sndinfo;
+	out_sndinfo = out->value.sctp_sndinfo;
+
+	if (evaluate(in_sndinfo->snd_sid,
+		     &out_sndinfo->snd_sid,
+		     error))
+		return STATUS_ERR;
+	if (evaluate(in_sndinfo->snd_flags,
+		     &out_sndinfo->snd_flags,
+		     error))
+		return STATUS_ERR;
+	if (evaluate(in_sndinfo->snd_ppid,
+		     &out_sndinfo->snd_ppid,
+		     error))
+		return STATUS_ERR;
+	if (evaluate(in_sndinfo->snd_context,
+		     &out_sndinfo->snd_context,
+		     error))
+		return STATUS_ERR;
+	return STATUS_OK;
+}
+#endif
+
 #ifdef SCTP_ADAPTATION_LAYER
 static int evaluate_sctp_setadaptation_expression(struct expression *in,
 						  struct expression *out,
@@ -1056,6 +1103,11 @@ static int evaluate(struct expression *in,
 		result = evaluate_sctp_event_expression(in, out, error);
 		break;
 #endif
+#ifdef SCTP_DEFAULT_SNDINFO
+	case EXPR_SCTP_SNDINFO:
+		result = evaluate_sctp_sndinfo_expression(in, out, error);
+		break;
+#endif
 #ifdef SCTP_ADAPTATION_LAYER
 	case EXPR_SCTP_SETADAPTATION:
 		result = evaluate_sctp_setadaptation_expression(in, out, error);
diff --git a/gtests/net/packetdrill/script.h b/gtests/net/packetdrill/script.h
index 3711795ebcbf12707db3d13d208e527ceca97ddb..ecd3a56d0a12762ac50a73371e9dca9cc368a6cb 100644
--- a/gtests/net/packetdrill/script.h
+++ b/gtests/net/packetdrill/script.h
@@ -72,7 +72,10 @@ enum expression_t {
 	EXPR_SCTP_ASSOCPARAMS,    /* struct sctp_assocparams for SCTP_ASSOCINFO */
 #endif
 #ifdef SCTP_EVENT
-	EXPR_SCTP_EVENT,	  /* struct sctp_event to for SCTP_EVENT */
+	EXPR_SCTP_EVENT,	  /* struct sctp_event for SCTP_EVENT */
+#endif
+#ifdef SCTP_DEFAULT_SNDINFO
+	EXPR_SCTP_SNDINFO,	  /* struct sctp_sndinfo for SCTP_DEFAULT_SNDINFO */
 #endif
 #ifdef SCTP_ADAPTATION_LAYER
 	EXPR_SCTP_SETADAPTATION, /* struct sctp_setadaptation for SCTP_ADATTATION_LAYER */
@@ -124,10 +127,12 @@ struct expression {
 #ifdef SCTP_EVENT
 		struct sctp_event_expr *sctp_event;
 #endif
+#ifdef SCTP_DEFAULT_SNDINFO
+		struct sctp_sndinfo_expr *sctp_sndinfo;
+#endif
 #ifdef SCTP_ADAPTATION_LAYER
 		struct sctp_setadaptation_expr *sctp_setadaptation;
 #endif
-
 	} value;
 	const char *format;	/* the printf format for printing the value */
 };
@@ -269,6 +274,16 @@ struct sctp_event_expr {
 };
 #endif
 
+#ifdef SCTP_DEFAULT_SNDINFO
+/* Parse tree for sctp_sndinfo struct in [gs]etsockopt syscall. */
+struct sctp_sndinfo_expr {
+	struct expression *snd_sid;
+	struct expression *snd_flags;
+	struct expression *snd_ppid;
+	struct expression *snd_context;
+};
+#endif
+
 #ifdef SCTP_ADAPTATION_LAYER
 /* Parse tree for sctp_setadaptation struct in [gs]etsockopt syscall. */
 struct sctp_setadaptation_expr {
diff --git a/gtests/net/packetdrill/symbols_freebsd.c b/gtests/net/packetdrill/symbols_freebsd.c
index 779c8aab75642cd6cc36e9672eeb921c8959442f..c5069e9e05412321ef90a316a64fbd42185feadf 100644
--- a/gtests/net/packetdrill/symbols_freebsd.c
+++ b/gtests/net/packetdrill/symbols_freebsd.c
@@ -89,6 +89,7 @@ struct int_symbol platform_symbols_table[] = {
 	{ SCTP_MAX_BURST,                   "SCTP_MAX_BURST"                  },
 	{ SCTP_PEER_ADDR_PARAMS,            "SCTP_PEER_ADDR_PARAMS"           },
 	{ SCTP_EVENT,			    "SCTP_EVENT"		      },
+	{ SCTP_DEFAULT_SNDINFO,             "SCTP_DEFAULT_SNDINFO"            },
 	{ SCTP_STATUS,                      "SCTP_STATUS"                     },
 	{ SCTP_GET_PEER_ADDR_INFO,          "SCTP_GET_PEER_ADDR_INFO"         },
 	{ SCTP_FRAGMENT_INTERLEAVE,         "SCTP_FRAGMENT_INTERLEAVE"        },
@@ -177,6 +178,12 @@ struct int_symbol platform_symbols_table[] = {
 	{ SCTP_ASSOC_RESET_EVENT,           "SCTP_ASSOC_RESET_EVENT"          },
 	{ SCTP_STREAM_CHANGE_EVENT,         "SCTP_STREAM_CHANGE_EVENT"        },
 	{ SCTP_SEND_FAILED_EVENT,           "SCTP_SEND_FAILED_EVENT"          },
+        { SCTP_UNORDERED,                   "SCTP_UNORDERED"                  },
+        { SCTP_ADDR_OVER,                   "SCTP_ADDR_OVER"                  },
+        { SCTP_ABORT,                       "SCTP_ABORT"                      },
+        { SCTP_EOF,                         "SCTP_EOF"                        },
+        { SCTP_SENDALL,                     "SCTP_SENDALL"                    },
+
 	/* /usr/include/netinet/tcp.h */
 	{ TCP_NODELAY,                      "TCP_NODELAY"                     },
 	{ TCP_MAXSEG,                       "TCP_MAXSEG"                      },
diff --git a/gtests/net/packetdrill/symbols_linux.c b/gtests/net/packetdrill/symbols_linux.c
index 58f21acd6e31f31be5121d474b1d08c34ab30ce3..f41f1a7152cd93a951c64e3947faa0597947aa56 100644
--- a/gtests/net/packetdrill/symbols_linux.c
+++ b/gtests/net/packetdrill/symbols_linux.c
@@ -107,6 +107,7 @@ struct int_symbol platform_symbols_table[] = {
 	{ SCTP_MAXSEG,                      "SCTP_MAXSEG"                     },
 	{ SCTP_DELAYED_SACK,                "SCTP_DELAYED_SACK"               },
 	{ SCTP_MAX_BURST,                   "SCTP_MAX_BURST"                  },
+	{ SCTP_DEFAULT_SNDINFO,             "SCTP_DEFAULT_SNDINFO"            },
 #if 0
 	{ SCTP_EVENT,                       "SCTP_EVENT"                      },
 #endif
@@ -173,11 +174,20 @@ struct int_symbol platform_symbols_table[] = {
 #ifdef SCTP_ADAPTATION_LAYER
 	{ SCTP_ADAPTATION_LAYER,            "SCTP_ADAPTATION_LAYER"           },
 #endif
+
 #if 0
 	{ SPP_IPV6_FLOWLABEL,               "SPP_IPV6_FLOWLABEL"              },
 	{ SPP_DSCP,                         "SPP_DSCP"                        },
 #endif
-
+        { SCTP_UNORDERED,                   "SCTP_UNORDERED"                  },
+        { SCTP_ADDR_OVER,                   "SCTP_ADDR_OVER"                  },
+        { SCTP_ABORT,                       "SCTP_ABORT"                      },
+        { SCTP_EOF,                         "SCTP_EOF"                        },
+	{ SCTP_SACK_IMMEDIATELY,	    "SCTP_SACK_IMMEDIATELY"	      },
+	{ SCTP_NOTIFICATION,		    "SCTP_NOTIFICATION"		      },
+#if 0
+        { SCTP_SENDALL,                     "SCTP_SENDALL"                    },
+#endif
 	{ TCP_NODELAY,                      "TCP_NODELAY"                     },
 	{ TCP_MAXSEG,                       "TCP_MAXSEG"                      },
 	{ TCP_CORK,                         "TCP_CORK"                        },
diff --git a/gtests/net/packetdrill/tests/bsd/sctp/sctp_get_socket_options.pkt b/gtests/net/packetdrill/tests/bsd/sctp/sctp_get_socket_options.pkt
index 7671c7d28cbf64f9a3e5c352a3fb7440006ff4bd..0cd0e2782d3dac117cdea1e727f12af2c1a3b2c4 100644
--- a/gtests/net/packetdrill/tests/bsd/sctp/sctp_get_socket_options.pkt
+++ b/gtests/net/packetdrill/tests/bsd/sctp/sctp_get_socket_options.pkt
@@ -96,11 +96,16 @@ spp_hbinterval=300, spp_pathmaxrxt=..., spp_pathmtu=1468, spp_flags=521, spp_ipv
 +0 getsockopt(3, IPPROTO_SCTP, SCTP_INITMSG, {sinit_num_ostreams=2, sinit_max_instreams=..., sinit_max_attempts=2, sinit_max_init_timeo=30}, [8]) = 0
 +0 getsockopt(3, IPPROTO_SCTP, SCTP_INITMSG, {sinit_num_ostreams=2, sinit_max_instreams=2, sinit_max_attempts=..., sinit_max_init_timeo=30}, [8]) = 0
 
-+0 setsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=5, sasoc_number_peer_destinations=3, sasoc_peer_rwnd=1800, sasoc_local_rwnd=2000, sasoc_cookie_life=40000}, 20) = 0
-+0 getsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=5, sasoc_number_peer_destinations=1, sasoc_peer_rwnd=1500, sasoc_local_rwnd=1864135, sasoc_cookie_life=40000}, [20]) = 0
-+0 getsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=..., sasoc_number_peer_destinations=..., sasoc_peer_rwnd=..., sasoc_local_rwnd=..., sasoc_cookie_life=40000}, [20]) = 0
-+0 getsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=5, sasoc_number_peer_destinations=..., sasoc_peer_rwnd=..., sasoc_local_rwnd=..., sasoc_cookie_life=40000}, [20]) = 0
-+0 getsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=5, sasoc_number_peer_destinations=..., sasoc_peer_rwnd=..., sasoc_local_rwnd=..., sasoc_cookie_life=...}, [20]) = 0
++0 setsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=5, sasoc_number_peer_destinations=3, sasoc_peer_rwnd=1800, sasoc_local_rwnd=2000, 
+sasoc_cookie_life=40000}, 20) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=5, sasoc_number_peer_destinations=1, sasoc_peer_rwnd=1500, sasoc_local_rwnd=1864135, 
+sasoc_cookie_life=40000}, [20]) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=..., sasoc_number_peer_destinations=..., sasoc_peer_rwnd=..., sasoc_local_rwnd=..., 
+sasoc_cookie_life=40000}, [20]) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=5, sasoc_number_peer_destinations=..., sasoc_peer_rwnd=..., sasoc_local_rwnd=..., 
+sasoc_cookie_life=40000}, [20]) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_ASSOCINFO, {sasoc_asocmaxrxt=5, sasoc_number_peer_destinations=..., sasoc_peer_rwnd=..., sasoc_local_rwnd=..., 
+sasoc_cookie_life=...}, [20]) = 0
 
 +0 setsockopt(3, IPPROTO_SCTP, SCTP_DELAYED_SACK, {sack_delay=250, sack_freq=1}, 12) = 0
 +0 getsockopt(3, IPPROTO_SCTP, SCTP_DELAYED_SACK, {sack_delay=250, sack_freq=1}, [12]) = 0
@@ -110,6 +115,15 @@ spp_hbinterval=300, spp_pathmaxrxt=..., spp_pathmtu=1468, spp_flags=521, spp_ipv
 +0 setsockopt(3, IPPROTO_SCTP, SCTP_EVENT, {se_type=SCTP_SHUTDOWN_EVENT, se_on=1}, 8) = 0
 +0 getsockopt(3, IPPROTO_SCTP, SCTP_EVENT, {se_type=SCTP_SHUTDOWN_EVENT, se_on=1}, [8]) = 0
 
++0 setsockopt(3, IPPROTO_SCTP, SCTP_DEFAULT_SNDINFO, {snd_sid=0, snd_flags=0, snd_ppid=1, snd_context=1}, 16) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_DEFAULT_SNDINFO, {snd_sid=0, snd_flags=0, snd_ppid=1, snd_context=1}, [16]) = 0
++0 setsockopt(3, IPPROTO_SCTP, SCTP_DEFAULT_SNDINFO, {snd_sid=0, snd_flags=SCTP_UNORDERED, snd_ppid=2, snd_context=2}, 16) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_DEFAULT_SNDINFO, {snd_sid=0, snd_flags=SCTP_UNORDERED, snd_ppid=2, snd_context=2}, [16]) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_DEFAULT_SNDINFO, {snd_sid=0, snd_flags=SCTP_UNORDERED, snd_ppid=2, snd_context=...}, [16]) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_DEFAULT_SNDINFO, {snd_sid=0, snd_flags=SCTP_UNORDERED, snd_ppid=..., snd_context=2}, [16]) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_DEFAULT_SNDINFO, {snd_sid=0, snd_flags=..., snd_ppid=2, snd_context=2}, [16]) = 0
++0 getsockopt(3, IPPROTO_SCTP, SCTP_DEFAULT_SNDINFO, {snd_sid=..., snd_flags=SCTP_UNORDERED, snd_ppid=2, snd_context=2}, [16]) = 0
+
 +0 setsockopt(3, IPPROTO_SCTP, SCTP_ADAPTATION_LAYER, {ssb_adaptation_ind=2}, 4) = 0
 +0 getsockopt(3, IPPROTO_SCTP, SCTP_ADAPTATION_LAYER, {ssb_adaptation_ind=2}, [4]) = 0