From d0eec31f5c760127c5ba2ae5541bcf1e41579285 Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Fri, 19 Mar 2021 10:08:37 +0900 Subject: [PATCH] upf/sgwu: fix the PDR creation bug (#860) When PDR is created without deleting session, there is a bug to create new PDR. --- lib/pfcp/handler.c | 34 ++++++++++++++-- lib/pfcp/xact.c | 9 ++--- src/upf/context.c | 11 +++++ tests/common/context.h | 12 ++++++ tests/common/gsm-build.c | 25 +++++------- tests/handover/5gc-n2-test.c | 45 +++++++++++++++++++++ tests/handover/5gc-xn-test.c | 6 +++ tests/registration/dereg-test.c | 24 +++++++++++ tests/registration/gmm-status-test.c | 3 ++ tests/registration/guti-test.c | 12 ++++++ tests/registration/identity-test.c | 3 ++ tests/registration/idle-test.c | 18 +++++++++ tests/registration/paging-test.c | 36 +++++++++++++++++ tests/registration/reset-test.c | 6 +++ tests/registration/ue-context-test.c | 15 +++++++ tests/slice/nssai-test.c | 6 +++ tests/vonr/qos-flow-test.c | 6 +++ tests/vonr/session-test.c | 60 ++++++++++++++++++++++++++++ 18 files changed, 309 insertions(+), 22 deletions(-) diff --git a/lib/pfcp/handler.c b/lib/pfcp/handler.c index c80a474a2..c2d985f07 100644 --- a/lib/pfcp/handler.c +++ b/lib/pfcp/handler.c @@ -377,6 +377,11 @@ ogs_pfcp_pdr_t *ogs_pfcp_handle_create_pdr(ogs_pfcp_sess_t *sess, } } + if (pdr->dnn) { + ogs_free(pdr->dnn); + pdr->dnn = NULL; + } + if (message->pdi.network_instance.presence) { char dnn[OGS_MAX_DNN_LEN]; @@ -384,39 +389,55 @@ ogs_pfcp_pdr_t *ogs_pfcp_handle_create_pdr(ogs_pfcp_sess_t *sess, message->pdi.network_instance.data, message->pdi.network_instance.len); - if (pdr->dnn) - ogs_free(pdr->dnn); pdr->dnn = ogs_strdup(dnn); } + pdr->chid = false; + pdr->choose_id = 0; + + memset(&pdr->f_teid, 0, sizeof(pdr->f_teid)); + pdr->f_teid_len = 0; + if (message->pdi.local_f_teid.presence) { pdr->f_teid_len = message->pdi.local_f_teid.len; memcpy(&pdr->f_teid, message->pdi.local_f_teid.data, pdr->f_teid_len); pdr->f_teid.teid = be32toh(pdr->f_teid.teid); } + pdr->qfi = 0; + if (message->pdi.qfi.presence) { pdr->qfi = message->pdi.qfi.u8; } + memset(&pdr->ue_ip_addr, 0, sizeof(pdr->ue_ip_addr)); + pdr->ue_ip_addr_len = 0; + if (message->pdi.ue_ip_address.presence) { pdr->ue_ip_addr_len = message->pdi.ue_ip_address.len; memcpy(&pdr->ue_ip_addr, message->pdi.ue_ip_address.data, pdr->ue_ip_addr_len); } + memset(&pdr->outer_header_removal, 0, sizeof(pdr->outer_header_removal)); + pdr->outer_header_removal_len = 0; + if (message->outer_header_removal.presence) { pdr->outer_header_removal_len = message->outer_header_removal.len; memcpy(&pdr->outer_header_removal, message->outer_header_removal.data, pdr->outer_header_removal_len); } + pdr->far = NULL; + if (message->far_id.presence) { far = ogs_pfcp_far_find_or_add(sess, message->far_id.u32); ogs_assert(far); ogs_pfcp_pdr_associate_far(pdr, far); } + pdr->qer = NULL; + if (message->qer_id.presence) { qer = ogs_pfcp_qer_find_or_add(sess, message->qer_id.u32); ogs_assert(qer); @@ -693,6 +714,9 @@ ogs_pfcp_far_t *ogs_pfcp_handle_create_far(ogs_pfcp_sess_t *sess, far->apply_action = message->apply_action.u8; + far->dst_if = 0; + memset(&far->outer_header_creation, 0, sizeof(far->outer_header_creation)); + if (message->forwarding_parameters.presence) { if (message->forwarding_parameters.destination_interface.presence) { far->dst_if = @@ -711,7 +735,6 @@ ogs_pfcp_far_t *ogs_pfcp_handle_create_far(ogs_pfcp_sess_t *sess, far->outer_header_creation.teid = be32toh(far->outer_header_creation.teid); } - } return far; @@ -877,11 +900,16 @@ ogs_pfcp_qer_t *ogs_pfcp_handle_create_qer(ogs_pfcp_sess_t *sess, qer->gate_status.value = message->gate_status.u8; + memset(&qer->mbr, 0, sizeof(qer->mbr)); + memset(&qer->gbr, 0, sizeof(qer->gbr)); + if (message->maximum_bitrate.presence) ogs_pfcp_parse_bitrate(&qer->mbr, &message->maximum_bitrate); if (message->guaranteed_bitrate.presence) ogs_pfcp_parse_bitrate(&qer->gbr, &message->guaranteed_bitrate); + qer->qfi = 0; + if (message->qos_flow_identifier.presence) qer->qfi = message->qos_flow_identifier.u8; diff --git a/lib/pfcp/xact.c b/lib/pfcp/xact.c index 0106e9979..cdfe7988c 100644 --- a/lib/pfcp/xact.c +++ b/lib/pfcp/xact.c @@ -785,10 +785,10 @@ ogs_pfcp_xact_t *ogs_pfcp_xact_find_by_xid( ogs_list_for_each(list, xact) { if (xact->xid == xid) { ogs_debug("[%d] %s Find peer [%s]:%d", - xact->xid, - xact->org == OGS_PFCP_LOCAL_ORIGINATOR ? "LOCAL " : "REMOTE", - OGS_ADDR(&node->addr, buf), - OGS_PORT(&node->addr)); + xact->xid, + xact->org == OGS_PFCP_LOCAL_ORIGINATOR ? "LOCAL " : "REMOTE", + OGS_ADDR(&node->addr, buf), + OGS_PORT(&node->addr)); break; } } @@ -829,4 +829,3 @@ static int ogs_pfcp_xact_delete(ogs_pfcp_xact_t *xact) return OGS_OK; } - diff --git a/src/upf/context.c b/src/upf/context.c index 227179f3a..a18e03d56 100644 --- a/src/upf/context.c +++ b/src/upf/context.c @@ -268,6 +268,17 @@ void upf_sess_set_ue_ip(upf_sess_t *sess, ue_ip = &pdr->ue_ip_addr; ogs_assert(ue_ip); + if (sess->ipv4) { + ogs_hash_set(self.ipv4_hash, + sess->ipv4->addr, OGS_IPV4_LEN, NULL); + ogs_pfcp_ue_ip_free(sess->ipv4); + } + if (sess->ipv6) { + ogs_hash_set(self.ipv6_hash, + sess->ipv6->addr, OGS_IPV6_DEFAULT_PREFIX_LEN >> 3, NULL); + ogs_pfcp_ue_ip_free(sess->ipv6); + } + /* Set PDN-Type and UE IP Address */ if (session_type == OGS_PDU_SESSION_TYPE_IPV4) { if (ue_ip->ipv4 || pdr->dnn) { diff --git a/tests/common/context.h b/tests/common/context.h index 3f124ffbe..a4d3bfb9b 100644 --- a/tests/common/context.h +++ b/tests/common/context.h @@ -246,6 +246,17 @@ typedef struct test_ul_nas_transport_param_s { }; } __attribute__ ((packed)) test_ul_nas_transport_param_t; +typedef struct test_pdu_session_establishment_param_s { + union { + struct { + ED3(uint8_t ssc_mode:1;, + uint8_t epco:1;, + uint8_t reserved:6;) + }; + uint8_t value; + }; +} __attribute__ ((packed)) test_pdu_session_establishment_param_t; + typedef struct test_pdn_connectivity_param_s { union { struct { @@ -427,6 +438,7 @@ typedef struct test_sess_s { ogs_sockaddr_t *gnb_n3_addr6; /* gNB-N3 IPv6 */ test_ul_nas_transport_param_t ul_nas_transport_param; + test_pdu_session_establishment_param_t pdu_session_establishment_param; test_pdn_connectivity_param_t pdn_connectivity_param; test_esm_information_param_t esm_information_param; diff --git a/tests/common/gsm-build.c b/tests/common/gsm-build.c index 1e286c5c2..9b222b27a 100644 --- a/tests/common/gsm-build.c +++ b/tests/common/gsm-build.c @@ -29,10 +29,7 @@ ogs_pkbuf_t *testgsm_build_pdu_session_establishment_request( ogs_nas_integrity_protection_maximum_data_rate_t *integrity_protection_maximum_data_rate = NULL; ogs_nas_pdu_session_type_t *pdu_session_type = NULL; -#define ADD_SSC_MODE 1 -#if ADD_SSC_MODE ogs_nas_ssc_mode_t *ssc_mode = NULL; -#endif ogs_nas_extended_protocol_configuration_options_t *extended_protocol_configuration_options = NULL; uint8_t ue_pco[35] = @@ -51,9 +48,7 @@ ogs_pkbuf_t *testgsm_build_pdu_session_establishment_request( &pdu_session_establishment_request-> integrity_protection_maximum_data_rate; pdu_session_type = &pdu_session_establishment_request->pdu_session_type; -#if ADD_SSC_MODE ssc_mode = &pdu_session_establishment_request->ssc_mode; -#endif extended_protocol_configuration_options = &pdu_session_establishment_request-> extended_protocol_configuration_options; @@ -73,16 +68,18 @@ ogs_pkbuf_t *testgsm_build_pdu_session_establishment_request( OGS_NAS_5GS_PDU_SESSION_ESTABLISHMENT_REQUEST_PDU_SESSION_TYPE_PRESENT; pdu_session_type->value = test_sess->pdu_session_type; -#if ADD_SSC_MODE - pdu_session_establishment_request->presencemask |= - OGS_NAS_5GS_PDU_SESSION_ESTABLISHMENT_REQUEST_SSC_MODE_PRESENT; - ssc_mode->value = OGS_NAS_SSC_MODE_1; -#endif + if (test_sess->pdu_session_establishment_param.ssc_mode) { + pdu_session_establishment_request->presencemask |= + OGS_NAS_5GS_PDU_SESSION_ESTABLISHMENT_REQUEST_SSC_MODE_PRESENT; + ssc_mode->value = OGS_NAS_SSC_MODE_1; + } - pdu_session_establishment_request->presencemask |= - OGS_NAS_5GS_PDU_SESSION_ESTABLISHMENT_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT; - extended_protocol_configuration_options->length = sizeof(ue_pco); - extended_protocol_configuration_options->buffer = ue_pco; + if (test_sess->pdu_session_establishment_param.epco) { + pdu_session_establishment_request->presencemask |= + OGS_NAS_5GS_PDU_SESSION_ESTABLISHMENT_REQUEST_EXTENDED_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT; + extended_protocol_configuration_options->length = sizeof(ue_pco); + extended_protocol_configuration_options->buffer = ue_pco; + } return ogs_nas_5gs_plain_encode(&message); } diff --git a/tests/handover/5gc-n2-test.c b/tests/handover/5gc-n2-test.c index 4fa6e735d..68dd21aa3 100644 --- a/tests/handover/5gc-n2-test.c +++ b/tests/handover/5gc-n2-test.c @@ -211,6 +211,9 @@ static void failure_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -266,6 +269,9 @@ static void failure_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -307,6 +313,9 @@ static void failure_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -602,6 +611,9 @@ static void direct_complete_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -657,6 +669,9 @@ static void direct_complete_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -698,6 +713,9 @@ static void direct_complete_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1209,6 +1227,9 @@ static void direct_cancel_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1264,6 +1285,9 @@ static void direct_cancel_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1305,6 +1329,9 @@ static void direct_cancel_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1616,6 +1643,9 @@ static void indirect_complete_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1671,6 +1701,9 @@ static void indirect_complete_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1712,6 +1745,9 @@ static void indirect_complete_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -2259,6 +2295,9 @@ static void indirect_cancel_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -2314,6 +2353,9 @@ static void indirect_cancel_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -2355,6 +2397,9 @@ static void indirect_cancel_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/handover/5gc-xn-test.c b/tests/handover/5gc-xn-test.c index 61cdbf2f6..94eb6a659 100644 --- a/tests/handover/5gc-xn-test.c +++ b/tests/handover/5gc-xn-test.c @@ -211,6 +211,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -277,6 +280,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/registration/dereg-test.c b/tests/registration/dereg-test.c index 51a16c399..24cdc7be5 100644 --- a/tests/registration/dereg-test.c +++ b/tests/registration/dereg-test.c @@ -187,6 +187,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -614,6 +617,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -665,6 +671,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -695,6 +704,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -775,6 +787,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1019,6 +1034,9 @@ static void test4_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1061,6 +1079,9 @@ static void test4_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1091,6 +1112,9 @@ static void test4_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/registration/gmm-status-test.c b/tests/registration/gmm-status-test.c index 361214cd0..fd24f77c4 100644 --- a/tests/registration/gmm-status-test.c +++ b/tests/registration/gmm-status-test.c @@ -171,6 +171,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/registration/guti-test.c b/tests/registration/guti-test.c index ab01a58c4..a1524708d 100644 --- a/tests/registration/guti-test.c +++ b/tests/registration/guti-test.c @@ -191,6 +191,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -416,6 +419,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -662,6 +668,9 @@ static void test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -841,6 +850,9 @@ static void test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/registration/identity-test.c b/tests/registration/identity-test.c index b110d8df2..2b0501ec3 100644 --- a/tests/registration/identity-test.c +++ b/tests/registration/identity-test.c @@ -177,6 +177,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/registration/idle-test.c b/tests/registration/idle-test.c index 3a7b213fb..f06a618a5 100644 --- a/tests/registration/idle-test.c +++ b/tests/registration/idle-test.c @@ -177,6 +177,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -815,6 +818,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1238,6 +1244,9 @@ static void test4_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1618,6 +1627,9 @@ static void test5_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1730,6 +1742,9 @@ static void test5_func(abts_case *tc, void *data) OGS_NAS_5GS_REQUEST_TYPE_INITIAL; sess->ul_nas_transport_param.dnn = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -2001,6 +2016,9 @@ static void test6_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/registration/paging-test.c b/tests/registration/paging-test.c index e0e91fbc8..6326cc505 100644 --- a/tests/registration/paging-test.c +++ b/tests/registration/paging-test.c @@ -177,6 +177,9 @@ static void cm_idle_paging_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -712,6 +715,9 @@ static void cm_idle_error_indication_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1039,6 +1045,9 @@ static void cm_connected_error_indication_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1330,6 +1339,9 @@ static void vonr_qos_flow_test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1396,6 +1408,9 @@ static void vonr_qos_flow_test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1722,6 +1737,9 @@ static void vonr_session_test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1777,6 +1795,9 @@ static void vonr_session_test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1818,6 +1839,9 @@ static void vonr_session_test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1941,6 +1965,9 @@ static void vonr_session_test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1971,6 +1998,9 @@ static void vonr_session_test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -2187,6 +2217,9 @@ static void registration_ue_context_test4_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -2569,6 +2602,9 @@ static void registration_idle_test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/registration/reset-test.c b/tests/registration/reset-test.c index d5d09afc7..35f93d166 100644 --- a/tests/registration/reset-test.c +++ b/tests/registration/reset-test.c @@ -223,6 +223,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -473,6 +476,9 @@ static void test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/registration/ue-context-test.c b/tests/registration/ue-context-test.c index 02a30c0c1..009f9335e 100644 --- a/tests/registration/ue-context-test.c +++ b/tests/registration/ue-context-test.c @@ -395,6 +395,9 @@ static void test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -634,6 +637,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -740,6 +746,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -770,6 +779,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1052,6 +1064,9 @@ static void test4_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/slice/nssai-test.c b/tests/slice/nssai-test.c index 84580171c..0b6be0967 100644 --- a/tests/slice/nssai-test.c +++ b/tests/slice/nssai-test.c @@ -176,6 +176,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -439,6 +442,9 @@ static void test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/vonr/qos-flow-test.c b/tests/vonr/qos-flow-test.c index 83aba5cca..dfbbb56c4 100644 --- a/tests/vonr/qos-flow-test.c +++ b/tests/vonr/qos-flow-test.c @@ -196,6 +196,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -262,6 +265,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, diff --git a/tests/vonr/session-test.c b/tests/vonr/session-test.c index c75a3b57c..678e0327b 100644 --- a/tests/vonr/session-test.c +++ b/tests/vonr/session-test.c @@ -196,6 +196,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -251,6 +254,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -292,6 +298,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -396,6 +405,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -426,6 +438,9 @@ static void test1_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_release_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -653,6 +668,9 @@ static void test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -708,6 +726,9 @@ static void test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -749,6 +770,9 @@ static void test2_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1072,6 +1096,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1127,6 +1154,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 1; sess->ul_nas_transport_param.s_nssai = 1; + sess->pdu_session_establishment_param.ssc_mode = 1; + sess->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1168,6 +1198,9 @@ static void test3_func(abts_case *tc, void *data) sess->ul_nas_transport_param.dnn = 0; sess->ul_nas_transport_param.s_nssai = 0; + sess->pdu_session_establishment_param.ssc_mode = 0; + sess->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess, @@ -1477,6 +1510,9 @@ static void test4_func(abts_case *tc, void *data) sess5->ul_nas_transport_param.dnn = 1; sess5->ul_nas_transport_param.s_nssai = 1; + sess5->pdu_session_establishment_param.ssc_mode = 1; + sess5->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess5); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess5, @@ -1496,6 +1532,9 @@ static void test4_func(abts_case *tc, void *data) sess6->ul_nas_transport_param.dnn = 1; sess6->ul_nas_transport_param.s_nssai = 1; + sess6->pdu_session_establishment_param.ssc_mode = 1; + sess6->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess6); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess6, @@ -1576,6 +1615,9 @@ static void test4_func(abts_case *tc, void *data) sess6->ul_nas_transport_param.dnn = 0; sess6->ul_nas_transport_param.s_nssai = 0; + sess6->pdu_session_establishment_param.ssc_mode = 0; + sess6->pdu_session_establishment_param.epco = 0; + gsmbuf = testgsm_build_pdu_session_modification_complete(sess6); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess6, @@ -1809,6 +1851,9 @@ static void test5_func(abts_case *tc, void *data) sess5->ul_nas_transport_param.dnn = 1; sess5->ul_nas_transport_param.s_nssai = 1; + sess5->pdu_session_establishment_param.ssc_mode = 1; + sess5->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess5); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess5, @@ -1844,6 +1889,9 @@ static void test5_func(abts_case *tc, void *data) sess6->ul_nas_transport_param.dnn = 1; sess6->ul_nas_transport_param.s_nssai = 1; + sess6->pdu_session_establishment_param.ssc_mode = 1; + sess6->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess6); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess6, @@ -2073,6 +2121,9 @@ static void test6_func(abts_case *tc, void *data) sess5->ul_nas_transport_param.dnn = 1; sess5->ul_nas_transport_param.s_nssai = 1; + sess5->pdu_session_establishment_param.ssc_mode = 1; + sess5->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess5); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess5, @@ -2108,6 +2159,9 @@ static void test6_func(abts_case *tc, void *data) sess6->ul_nas_transport_param.dnn = 1; sess6->ul_nas_transport_param.s_nssai = 1; + sess6->pdu_session_establishment_param.ssc_mode = 1; + sess6->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess6); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess6, @@ -2135,6 +2189,9 @@ static void test6_func(abts_case *tc, void *data) sess5->ul_nas_transport_param.dnn = 1; sess5->ul_nas_transport_param.s_nssai = 1; + sess5->pdu_session_establishment_param.ssc_mode = 1; + sess5->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess5); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess5, @@ -2162,6 +2219,9 @@ static void test6_func(abts_case *tc, void *data) sess6->ul_nas_transport_param.dnn = 1; sess6->ul_nas_transport_param.s_nssai = 1; + sess6->pdu_session_establishment_param.ssc_mode = 1; + sess6->pdu_session_establishment_param.epco = 1; + gsmbuf = testgsm_build_pdu_session_establishment_request(sess6); ABTS_PTR_NOTNULL(tc, gsmbuf); gmmbuf = testgmm_build_ul_nas_transport(sess6,