diff --git a/gtests/net/packetdrill/run_packet.c b/gtests/net/packetdrill/run_packet.c
index 79953ee8fa8578fb1c57f0e4f1f4adf2de692159..c3a3d5d87b04a38ddcfb961529da0f43cc06467e 100644
--- a/gtests/net/packetdrill/run_packet.c
+++ b/gtests/net/packetdrill/run_packet.c
@@ -1800,6 +1800,7 @@ static int verify_reconfig_chunk(struct sctp_reconfig_chunk *actual_chunk,
 		        error))) {
 		return STATUS_ERR;
 	}
+	//TODO: check Parameter
 	return verify_sctp_parameters(actual_chunk->parameter,
 				      parameter_length,
 				      script_chunk_item,
diff --git a/gtests/net/packetdrill/sctp_packet.c b/gtests/net/packetdrill/sctp_packet.c
index 126d1f5166d8eef7e0451b9f526e9727f34decfb..11e0b9d4a13599c9746ee1a7cca6782b62369060 100644
--- a/gtests/net/packetdrill/sctp_packet.c
+++ b/gtests/net/packetdrill/sctp_packet.c
@@ -1862,7 +1862,7 @@ sctp_reconfig_response_new(s64 respsn, s64 result, s64 sender_next_tsn, s64 rece
 
 	if (respsn == -1) {
 		flags |= FLAG_RECONFIG_RESP_SN_NOCHECK;
-		parameter->respsn = 0;	
+		parameter->respsn = 0;
 	} else {
 		parameter->respsn = htonl((u32)respsn);
 	}
@@ -1872,7 +1872,7 @@ sctp_reconfig_response_new(s64 respsn, s64 result, s64 sender_next_tsn, s64 rece
 	} else {
 		parameter->result = htonl((u32)result);
 	}
-	if (receiver_next_tsn != -2 && sender_next_tsn != -2) { 
+	if (receiver_next_tsn != -2 && sender_next_tsn != -2) {
 		if (sender_next_tsn == -1) {
 			flags |= FLAG_RECONFIG_SENDER_NEXT_TSN_NOCHECK;
 			parameter->sender_next_tsn = 0;
@@ -2524,9 +2524,45 @@ new_sctp_packet(int address_family,
 			for (parameter_item = chunk_item->parameter_list->first;
 			     parameter_item != NULL;
 			     parameter_item = parameter_item->next) {
-				if (ntohs(parameter_item->parameter->type) ==
-				    SCTP_STATE_COOKIE_PARAMETER_TYPE) {
+				switch(ntohs(parameter_item->parameter->type)) {
+				case SCTP_STATE_COOKIE_PARAMETER_TYPE:
 					continue;
+				case SCTP_OUTGOING_SSN_RESET_REQUEST_PARAMETER_TYPE:
+					if (parameter_item->flags & FLAG_RECONFIG_REQ_SN_NOCHECK) {
+						asprintf(error,
+							 "reqsn value must be specified for inbound packets");
+						return NULL;
+					}
+					if (parameter_item->flags & FLAG_RECONFIG_RESP_SN_NOCHECK) {
+						asprintf(error,
+							 "respsn value must be specified for inbound packets");
+						return NULL;
+					}
+					if (parameter_item->flags & FLAG_RECONFIG_LAST_TSN_NOCHECK) {
+						asprintf(error,
+							 "last_tsn value must be specified for inbound packets");
+						return NULL;
+					}
+					break;
+				case SCTP_RECONFIG_RESPONSE_PARAMETER_TYPE:
+					if (parameter_item->flags & FLAG_RECONFIG_RESULT_NOCHECK) {
+						asprintf(error,
+							 "result value must be specified for inbound packets");
+						return NULL;
+					}
+					if (parameter_item->flags & FLAG_RECONFIG_SENDER_NEXT_TSN_NOCHECK) {
+						asprintf(error,
+							 "sender_next_tsn value must be specified for inbound packets");
+						return NULL;
+					}
+					if (parameter_item->flags & FLAG_RECONFIG_RECEIVER_NEXT_TSN_NOCHECK) {
+						asprintf(error,
+							 "receiver_next_tsn value must be specified for inbound packets");
+						return NULL;
+					}
+					break;
+				default:
+					break;
 				}
 				if (parameter_item->flags & FLAG_PARAMETER_LENGTH_NOCHECK) {
 					asprintf(error,
diff --git a/gtests/net/packetdrill/sctp_packet.h b/gtests/net/packetdrill/sctp_packet.h
index 530530e9ef0f1a332f996ba2b880de5fb7194c8c..59d988ec52e7fd6f0f2e0c5f1427c521397f6cc0 100644
--- a/gtests/net/packetdrill/sctp_packet.h
+++ b/gtests/net/packetdrill/sctp_packet.h
@@ -376,16 +376,16 @@ sctp_supported_extensions_parameter_new(struct sctp_byte_list *list);
 struct sctp_parameter_list_item *
 sctp_pad_parameter_new(s64 len, u8 *padding);
 
-#define FLAG_RECONFIG_REQ_SN_NOCHECK                            0x00000001
-#define FLAG_RECONFIG_RESP_SN_NOCHECK                           0x00000002
-#define FLAG_RECONFIG_LAST_TSN_NOCHECK                          0x00000004
+#define FLAG_RECONFIG_REQ_SN_NOCHECK                            0x00000010
+#define FLAG_RECONFIG_RESP_SN_NOCHECK                           0x00000020
+#define FLAG_RECONFIG_LAST_TSN_NOCHECK                          0x00000040
 
 struct sctp_parameter_list_item *
 sctp_outgoing_ssn_reset_request_parameter_new(s64 reqsn, s64 respsn, s64 last_tsn, struct sctp_u16_list *sids);
 
-#define FLAG_RECONFIG_RESULT_NOCHECK                            0x00000001
-#define FLAG_RECONFIG_SENDER_NEXT_TSN_NOCHECK                   0x00000004
-#define FLAG_RECONFIG_RECEIVER_NEXT_TSN_NOCHECK                 0x00000008
+#define FLAG_RECONFIG_RESULT_NOCHECK                            0x00000010
+#define FLAG_RECONFIG_SENDER_NEXT_TSN_NOCHECK                   0x00000040
+#define FLAG_RECONFIG_RECEIVER_NEXT_TSN_NOCHECK                 0x00000080
 struct sctp_parameter_list_item *
 sctp_reconfig_response_new(s64 respsn, s64 result, s64 sender_next_tsn, s64 receiver_next_tsn);
 
diff --git a/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/reset_outgoing_ssn_passiv.pkt b/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/reset_outgoing_ssn_passiv.pkt
index 45f0576e1ec4c64b4c1b0b267741aab5a2301318..e130bb9792abc07930d7f6b71d5fbf870ba45311 100644
--- a/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/reset_outgoing_ssn_passiv.pkt
+++ b/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/reset_outgoing_ssn_passiv.pkt
@@ -34,5 +34,5 @@
 *    > sctp: SACK[flgs=0, cum_tsn=2, a_rwnd=..., gaps=[], dups=[]]
 +0.0 read(4, ..., 1000) = 1000
 
-+0.0 < sctp: RECONFIG[flgs=0, OUTGOING_SSN_RESET[req_sn=0, resp_sn=10, last_tsn=2, sids=[0]]]
-+0.0 > sctp: RECONFIG[flgs=0, RECONFIG_RESPONSE[resp_sn=0, result=0]]
++0.0 < sctp: RECONFIG[flgs=0, OUTGOING_SSN_RESET[req_sn=0, resp_sn=0, last_tsn=11, sids=[0]]]
++0.0 > sctp: RECONFIG[flgs=0, RECONFIG_RESPONSE[resp_sn=..., result=...]]