lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

October 2024

  • 1 participants
  • 1631 discussions
[M] Change in osmo-ttcn3-hacks[master]: hnbgw: Introduce test TC_cs_iu_release_req_rua_disconnect
by pespin 31 Oct '24

31 Oct '24
Attention is currently required from: fixeria, osmith. pespin has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38576?usp=email ) Change subject: hnbgw: Introduce test TC_cs_iu_release_req_rua_disconnect ...................................................................... Patch Set 5: (1 comment) File hnbgw/HNBGW_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38576/comment/96a7245a_9bd0… : PS5, Line 1367: f_sleep(1.0); > should there be something after this sleep, or is it just to make sure the SUT is not in an inconsis […] Nothing else, that's why I wrote the comment explaining we are just letting some time so that the RLSD message can flow before tearing down the whole thing. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38576?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6782920c4a86d3311eb54239ab13a18e393c1ec0 Gerrit-Change-Number: 38576 Gerrit-PatchSet: 5 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 31 Oct 2024 11:45:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-iuh[master]: ranap: Add API to encode Reset Resource into msgb
by pespin 31 Oct '24

31 Oct '24
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/38569?usp=email ) Change subject: ranap: Add API to encode Reset Resource into msgb ...................................................................... ranap: Add API to encode Reset Resource into msgb Related: SYS#6602 Change-Id: I5e7b647dee2887d9af7dc22bc9f46f499f676e01 --- M TODO-RELEASE M include/osmocom/ranap/ranap_msg_factory.h M src/ranap_msg_factory.c 3 files changed, 77 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/TODO-RELEASE b/TODO-RELEASE index 0ed7189..a6b0779 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,3 +7,4 @@ # If any interfaces have been added since the last public release: c:r:a + 1. # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line +libosmo-ranap add API ranap_new_msg_reset_resource() diff --git a/include/osmocom/ranap/ranap_msg_factory.h b/include/osmocom/ranap/ranap_msg_factory.h index 4b42d05..318e511 100644 --- a/include/osmocom/ranap/ranap_msg_factory.h +++ b/include/osmocom/ranap/ranap_msg_factory.h @@ -66,3 +66,10 @@ /*! \brief generate RANAP RAB RELEASE REQUEST message */ struct msgb *ranap_new_msg_rab_rel_req(uint8_t rab_id, const RANAP_Cause_t *cause); + +/*! \brief generate RANAP RESET RESOURCE message */ +struct msgb *ranap_new_msg_reset_resource(RANAP_CN_DomainIndicator_t domain, + const RANAP_Cause_t *cause, + const uint32_t *conn_id_list, + unsigned int conn_id_list_len, + RANAP_GlobalRNC_ID_t *rnc_id); diff --git a/src/ranap_msg_factory.c b/src/ranap_msg_factory.c index 44b879f..ffe2355 100644 --- a/src/ranap_msg_factory.c +++ b/src/ranap_msg_factory.c @@ -965,3 +965,72 @@ return msg; } + +/*! \brief generate RANAP RAB RELEASE REQUEST message */ +struct msgb *ranap_new_msg_reset_resource(RANAP_CN_DomainIndicator_t domain, + const RANAP_Cause_t *cause, + const uint32_t *conn_id_list, + unsigned int conn_id_list_len, + RANAP_GlobalRNC_ID_t *rnc_id) +{ + RANAP_ResetResourceItemIEs_t item_ies; + RANAP_ResetResourceIEs_t ies; + RANAP_ResetResource_t out; + uint32_t ctxidbuf; + struct msgb *msg; + int rc; + + OSMO_ASSERT(conn_id_list); + OSMO_ASSERT(cause); + + memset(&item_ies, 0, sizeof(item_ies)); + memset(&ies, 0, sizeof(ies)); + memset(&out, 0, sizeof(out)); + + /* CN Domain Indicator */ + ies.cN_DomainIndicator = domain; + + /* Cause */ + memcpy(&ies.cause, cause, sizeof(ies.cause)); + + /* Reset Resource Item IEs */ + if (conn_id_list_len != 1) { + LOGP(DRANAP, LOGL_ERROR, "Encoding ResourceReset len %u != 1 not supported!\n", conn_id_list_len); + return NULL; + } + asn1_u24_to_bitstring(&item_ies.iuSigConIdItem.iuSigConId, &ctxidbuf, conn_id_list[0]); + + /* Encode items into the list: */ + rc = ranap_encode_resetresourceitemies(&ies.iuSigConIdList, &item_ies); + if (rc < 0) + return NULL; + + /* Global RNC-ID */ + if (rnc_id) { + ies.presenceMask = RESETIES_RANAP_GLOBALRNC_ID_PRESENT; + OCTET_STRING_noalloc(&ies.globalRNC_ID.pLMNidentity, + rnc_id->pLMNidentity.buf, + rnc_id->pLMNidentity.size); + ies.globalRNC_ID.rNC_ID = rnc_id->rNC_ID; + } + + /* encode the list IEs into the output */ + rc = ranap_encode_resetresourceies(&out, &ies); + + /* 'out' has been generated, we can release the input */ + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_ResetResourceList, &ies.iuSigConIdList); + + if (rc < 0) { + LOGP(DRANAP, LOGL_ERROR, "error encoding Reset Resource IEs: %d\n", rc); + return NULL; + } + + /* encode the output into the msgb */ + msg = ranap_generate_initiating_message(RANAP_ProcedureCode_id_ResetResource, + RANAP_Criticality_reject, + &asn_DEF_RANAP_ResetResource, &out); + + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_ResetResource, &out); + + return msg; +} -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/38569?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I5e7b647dee2887d9af7dc22bc9f46f499f676e01 Gerrit-Change-Number: 38569 Gerrit-PatchSet: 3 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: hnbgw: test for RUA Disconnect when there is no CN
by osmith 31 Oct '24

31 Oct '24
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37809?usp=email ) Change subject: hnbgw: test for RUA Disconnect when there is no CN ...................................................................... hnbgw: test for RUA Disconnect when there is no CN Related: OS#6283 Related: osmo-hnbgw Iafb30c31a4c5db53ecdda99a0e0b5937b71e362c Tweaked-by: Oliver Smith <osmith(a)sysmocom.de> Change-Id: I2b5c024a395e736538c0c37db40d34f3b8d99991 --- M hnbgw/ConnHdlr.ttcn M hnbgw/HNBGW_Tests.ttcn 2 files changed, 48 insertions(+), 12 deletions(-) Approvals: osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/hnbgw/ConnHdlr.ttcn b/hnbgw/ConnHdlr.ttcn index 7df3008..d89123e 100644 --- a/hnbgw/ConnHdlr.ttcn +++ b/hnbgw/ConnHdlr.ttcn @@ -162,6 +162,7 @@ HnbConfig hnb optional, boolean expect_separate_sccp_cr, integer tx_sccp_cr_data_len, + boolean expect_compl_l3_success, charstring pfcp_local_addr, octetstring nas_pdu optional, /* local and remote SCCP addresses, used to transmit conectionless @@ -181,6 +182,7 @@ integer hnb_idx := 0, boolean expect_separate_sccp_cr := false, integer tx_sccp_cr_data_len := 0, + boolean expect_compl_l3_success := true, integer cn_idx := 0, charstring pfcp_local_addr := "127.0.0.1", template (value) RANAP_IEs.Cause rab_rel_cause := ts_RanapCause_nas_normal, @@ -706,25 +708,29 @@ } } -function f_perform_compl_l3(octetstring nas, boolean do_clear := true, boolean expect_iu_l3 := true) +function f_perform_compl_l3(octetstring nas, boolean do_clear := true, boolean expect_success := true) runs on ConnHdlr { timer T := 10.0; - /* create an expect on the Iu side for the random NAS portion */ - if (g_pars.expect_separate_sccp_cr) { - f_ran_register_sccp_cr_without_payload(); - } else { - f_ran_register_exp(nas); + if (expect_success) { + /* create an expect on the Iu side for the random NAS portion */ + if (g_pars.expect_separate_sccp_cr) { + f_ran_register_sccp_cr_without_payload(); + } else { + f_ran_register_exp(nas); + } } /* send Connect via Iuh (creating a RUA connection) */ var RANAP_PDU tx := f_build_initial_ue_with_nas(g_pars, nas); RUA.send(RUA_Conn_Req:{g_pars.ps_domain, tx}); - if (expect_iu_l3) { + if (expect_success) { /* Expect same message to arrive at CN */ f_bssap_expect(tx); + } else { + RUA.receive(RUA_Disc_Ind:?); } } -} /* module BSC_ConnectionHandler */ \ No newline at end of file +} /* module BSC_ConnectionHandler */ diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn index 2328733..61000c3 100644 --- a/hnbgw/HNBGW_Tests.ttcn +++ b/hnbgw/HNBGW_Tests.ttcn @@ -1596,14 +1596,16 @@ } private function f_tc_cnpool_compl_l3(charstring id) runs on ConnHdlr { - f_perform_compl_l3(g_pars.nas_pdu); + f_perform_compl_l3(g_pars.nas_pdu, expect_success := g_pars.expect_compl_l3_success); } private function f_TC_cnpool_compl_l3(boolean ps_domain, octetstring nas_pdu, integer cn_nr, - template (omit) charstring inc_countername := omit) runs on test_CT { + template (omit) charstring inc_countername := omit, + boolean expect_compl_l3_success := true) runs on test_CT { var ConnHdlr vc_conn; var template (value) TestHdlrParams pars := f_TestHdlrParams(0, ps_domain := ps_domain, cn_nr := cn_nr); pars.nas_pdu := nas_pdu; + pars.expect_compl_l3_success := expect_compl_l3_success; log("XXX ", pars); vc_conn := f_start_handler_with_pars(refers(f_tc_cnpool_compl_l3), pars); vc_conn.done; @@ -1614,14 +1616,16 @@ } function f_TC_cnpool_compl_l3_list(boolean ps_domain, ro_octetstring compl3, Osmocom_Types.ro_integer cn_nrs, - charstring inc_countername) runs on test_CT { + template (omit) charstring inc_countername, + boolean expect_compl_l3_success := true) runs on test_CT { var integer n := lengthof(compl3); if (n < lengthof(cn_nrs)) { n := lengthof(cn_nrs); } for (var integer i := 0; i < n; i := i + 1) { var integer cn_nr := cn_nrs[i mod lengthof(cn_nrs)]; - f_TC_cnpool_compl_l3(ps_domain, compl3[i mod lengthof(compl3)], cn_nr, inc_countername); + f_TC_cnpool_compl_l3(ps_domain, compl3[i mod lengthof(compl3)], cn_nr, inc_countername, + expect_compl_l3_success); } } @@ -2388,6 +2392,30 @@ f_shutdown_helper(); } +/* When no CN was found for a UE / domain, make sure osmo-hnbgw returns a Disconnect (OS#6283) */ +function f_TC_cnpool_L3Compl_no_cn(boolean ps_domain) runs on test_CT { + + /* Have one MSC and one SGSN but do not allow attaching. + * I would use no MSCs and no SGSNs, but then we need many tweaks to allow test startup without any "BSSAP" + * port. */ + f_init(); + f_vty_cnlink_allow_attach(HNBGWVTY, ps_domain, {false}); + + f_ctrs_cn_init(ps_domain := ps_domain); + + var ro_octetstring compl3 := f_gen_compl3_by_domain(ps_domain, 4); + f_TC_cnpool_compl_l3_list(ps_domain, compl3, {0, 0, 0, 0}, omit, + expect_compl_l3_success := false); + + f_shutdown_helper(); +} +testcase TC_mscpool_L3Compl_no_cn() runs on test_CT { + f_TC_cnpool_L3Compl_no_cn(ps_domain := false); +} +testcase TC_sgsnpool_L3Compl_no_cn() runs on test_CT { + f_TC_cnpool_L3Compl_no_cn(ps_domain := true); +} + control { execute(TC_hnb_register()); execute(TC_hnb_register_duplicate()); @@ -2427,6 +2455,7 @@ execute( TC_mscpool_L3Complete_by_tmsi_valid_nri_msc_not_connected_round_robin() ); execute( TC_mscpool_L3Complete_by_tmsi_valid_nri_1() ); execute( TC_mscpool_L3Complete_by_tmsi_valid_nri_2() ); + execute( TC_mscpool_L3Compl_no_cn() ); execute( TC_mscpool_LU_by_tmsi_from_other_PLMN() ); execute( TC_mscpool_paging_imsi() ); execute( TC_mscpool_paging_tmsi() ); @@ -2439,6 +2468,7 @@ execute( TC_sgsnpool_L3Complete_no_nri_round_robin() ); execute( TC_sgsnpool_L3Complete_valid_nri_1() ); execute( TC_sgsnpool_L3Complete_valid_nri_2() ); + execute( TC_sgsnpool_L3Compl_no_cn() ); execute( TC_sgsnpool_nri_from_other_PLMN() ); execute( TC_sgsnpool_sccp_n_pcstate_detaches_cnlink() ); execute( TC_sgsnpool_sccp_n_pcstate_attaches_cnlink() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37809?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b5c024a395e736538c0c37db40d34f3b8d99991 Gerrit-Change-Number: 37809 Gerrit-PatchSet: 5 Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: hnbgw: test for RUA Disconnect when there is no CN
by osmith 31 Oct '24

31 Oct '24
Attention is currently required from: fixeria, laforge, neels, pespin. osmith has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37809?usp=email ) Change subject: hnbgw: test for RUA Disconnect when there is no CN ...................................................................... Patch Set 5: Code-Review+2 (1 comment) Patchset: PS5: rebased on master and verified that the tests still pass. re-applying +2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37809?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b5c024a395e736538c0c37db40d34f3b8d99991 Gerrit-Change-Number: 37809 Gerrit-PatchSet: 5 Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 31 Oct 2024 11:12:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: hnbgw: test for RUA Disconnect when there is no CN
by osmith 31 Oct '24

31 Oct '24
Attention is currently required from: fixeria, laforge, neels, osmith, pespin. osmith has uploaded a new patch set (#5) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37809?usp=email ) The following approvals got outdated and were removed: Code-Review+1 by pespin, Code-Review+2 by fixeria, Verified+1 by Jenkins Builder The change is no longer submittable: Code-Review and Verified are unsatisfied now. Change subject: hnbgw: test for RUA Disconnect when there is no CN ...................................................................... hnbgw: test for RUA Disconnect when there is no CN Related: OS#6283 Related: osmo-hnbgw Iafb30c31a4c5db53ecdda99a0e0b5937b71e362c Tweaked-by: Oliver Smith <osmith(a)sysmocom.de> Change-Id: I2b5c024a395e736538c0c37db40d34f3b8d99991 --- M hnbgw/ConnHdlr.ttcn M hnbgw/HNBGW_Tests.ttcn 2 files changed, 48 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/37809/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37809?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newpatchset Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b5c024a395e736538c0c37db40d34f3b8d99991 Gerrit-Change-Number: 37809 Gerrit-PatchSet: 5 Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: osmith <osmith(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de>
1 0
0 0
[L] Change in osmo-bts[master]: CSD: implement half-rate modes correctly
by fixeria 31 Oct '24

31 Oct '24
Attention is currently required from: falconia, pespin. fixeria has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/osmo-bts/+/38553?usp=email ) Change subject: CSD: implement half-rate modes correctly ...................................................................... Patch Set 4: Code-Review+1 (1 comment) File src/common/l1sap.c: https://gerrit.osmocom.org/c/osmo-bts/+/38553/comment/d3fa65d1_72d0945b?usp… : PS2, Line 2098: switch (lchan->tch_mode) { > Please see the new patch iteration: I implemented your approach, although I found it simpler to do t […] Looks good to me, thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/38553?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib35e910df263743cd243f51fb0bd6551ddfcf4c5 Gerrit-Change-Number: 38553 Gerrit-PatchSet: 4 Gerrit-Owner: falconia <falcon(a)freecalypso.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: falconia <falcon(a)freecalypso.org> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 31 Oct 2024 10:08:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: falconia <falcon(a)freecalypso.org> Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: library/s1ap: fix wrong IE criticality in templates
by fixeria 31 Oct '24

31 Oct '24
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38577?usp=email ) Change subject: library/s1ap: fix wrong IE criticality in templates ...................................................................... library/s1ap: fix wrong IE criticality in templates Related sections in 3GPP TS 36.413: * 9.1.3.2 E-RAB SETUP RESPONSE * 9.1.3.6 E-RAB RELEASE RESPONSE Change-Id: I3fd9efc4c504037758b3d97e920776123f2141e9 Related: SYS#6772 --- M library/s1ap/S1AP_Templates.ttcn 1 file changed, 10 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/library/s1ap/S1AP_Templates.ttcn b/library/s1ap/S1AP_Templates.ttcn index 5425fb1..cf9b81c 100644 --- a/library/s1ap/S1AP_Templates.ttcn +++ b/library/s1ap/S1AP_Templates.ttcn @@ -1250,15 +1250,15 @@ protocolIEs := { { id := S1AP_Constants.id_MME_UE_S1AP_ID, - criticality := reject, + criticality := ignore, value_ := { MME_UE_S1AP_ID := mme_id } }, { id := S1AP_Constants.id_eNB_UE_S1AP_ID, - criticality := reject, + criticality := ignore, value_ := { ENB_UE_S1AP_ID := enb_id } }, { id := S1AP_Constants.id_E_RABSetupListBearerSURes, - criticality := reject, + criticality := ignore, value_ := { e_RABSetupListBearerSURes := rab_setup_items } } } @@ -1278,15 +1278,15 @@ protocolIEs := { { id := S1AP_Constants.id_MME_UE_S1AP_ID, - criticality := reject, + criticality := ignore, value_ := { MME_UE_S1AP_ID := mme_id } }, { id := S1AP_Constants.id_eNB_UE_S1AP_ID, - criticality := reject, + criticality := ignore, value_ := { ENB_UE_S1AP_ID := enb_id } }, { id := S1AP_Constants.id_E_RABSetupListBearerSURes, - criticality := reject, + criticality := ignore, value_ := { e_RABSetupListBearerSURes := rab_setup_items } }, * } @@ -1366,11 +1366,11 @@ protocolIEs := { { id := S1AP_Constants.id_MME_UE_S1AP_ID, - criticality := reject, + criticality := ignore, value_ := { MME_UE_S1AP_ID := mme_id } }, { id := S1AP_Constants.id_eNB_UE_S1AP_ID, - criticality := reject, + criticality := ignore, value_ := { ENB_UE_S1AP_ID := enb_id } }, { id := S1AP_Constants.id_E_RABReleaseListBearerRelComp, @@ -1394,11 +1394,11 @@ protocolIEs := { { id := S1AP_Constants.id_MME_UE_S1AP_ID, - criticality := reject, + criticality := ignore, value_ := { MME_UE_S1AP_ID := mme_id } }, { id := S1AP_Constants.id_eNB_UE_S1AP_ID, - criticality := reject, + criticality := ignore, value_ := { ENB_UE_S1AP_ID := enb_id } }, { id := S1AP_Constants.id_E_RABReleaseListBearerRelComp, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38577?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3fd9efc4c504037758b3d97e920776123f2141e9 Gerrit-Change-Number: 38577 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: library/s1ap: rework {ts,tr}_S1AP_RABSetupRsp templates
by fixeria 31 Oct '24

31 Oct '24
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38578?usp=email ) Change subject: library/s1ap: rework {ts,tr}_S1AP_RABSetupRsp templates ...................................................................... library/s1ap: rework {ts,tr}_S1AP_RABSetupRsp templates 3GPP TS 36.413, section 9.1.3.2 "E-RAB SETUP RESPONSE" defines the following two IEs as optional: * E-RAB Setup List IE: 0..1 in the Range column means that it can either be omitted (0) or included only once (1); * E-RAB Failed to Setup List: 'O' in the Presence column. Our templates for this S1AP PDU require the former to be a value (as if it was mandatory) and do not allow passing the later. Change-Id: Ic369ae720179483a19383af2bddf56186965eae3 Related: SYS#6772 --- M library/s1ap/S1AP_Templates.ttcn 1 file changed, 95 insertions(+), 36 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/library/s1ap/S1AP_Templates.ttcn b/library/s1ap/S1AP_Templates.ttcn index cf9b81c..0a91935 100644 --- a/library/s1ap/S1AP_Templates.ttcn +++ b/library/s1ap/S1AP_Templates.ttcn @@ -1238,59 +1238,118 @@ } } +private function +f_ts_S1AP_RABSetupRsp(template (value) MME_UE_S1AP_ID mme_id, + template (value) ENB_UE_S1AP_ID enb_id, + template (omit) E_RABSetupListBearerSURes rab_setup_items := omit, + template (omit) E_RABList rab_failed_items := omit) +return template (value) E_RABSetupResponse +{ + var template (value) E_RABSetupResponse rsp := { + protocolIEs := { + { + id := S1AP_Constants.id_MME_UE_S1AP_ID, + criticality := ignore, + value_ := { MME_UE_S1AP_ID := mme_id } + }, { + id := S1AP_Constants.id_eNB_UE_S1AP_ID, + criticality := ignore, + value_ := { ENB_UE_S1AP_ID := enb_id } + } + } + }; + + var integer idx := lengthof(rsp.protocolIEs); + if (isvalue(rab_setup_items)) { + rsp.protocolIEs[idx] := { + id := S1AP_Constants.id_E_RABSetupListBearerSURes, + criticality := ignore, + value_ := { e_RABSetupListBearerSURes := rab_setup_items } + }; + idx := idx + 1; + } + if (isvalue(rab_failed_items)) { + rsp.protocolIEs[idx] := { + id := S1AP_Constants.id_E_RABFailedToSetupListBearerSURes, + criticality := ignore, + value_ := { e_RABList := rab_failed_items } + }; + idx := idx + 1; + } + + return rsp; +} +private function +f_tr_S1AP_RABSetupRsp(template (present) MME_UE_S1AP_ID mme_id, + template (present) ENB_UE_S1AP_ID enb_id, + template E_RABSetupListBearerSURes rab_setup_items := *, + template E_RABList rab_failed_items := *) +return template E_RABSetupResponse +{ + var template E_RABSetupResponse rsp := { + protocolIEs := { + { + id := S1AP_Constants.id_MME_UE_S1AP_ID, + criticality := ignore, + value_ := { MME_UE_S1AP_ID := mme_id } + }, { + id := S1AP_Constants.id_eNB_UE_S1AP_ID, + criticality := ignore, + value_ := { ENB_UE_S1AP_ID := enb_id } + } + } + }; + + var integer idx := lengthof(rsp.protocolIEs); + if (isvalue(rab_setup_items) or istemplatekind(rab_setup_items, "?")) { + rsp.protocolIEs[idx] := { + id := S1AP_Constants.id_E_RABSetupListBearerSURes, + criticality := ignore, + value_ := { e_RABSetupListBearerSURes := rab_setup_items } + }; + idx := idx + 1; + } + if (isvalue(rab_failed_items) or istemplatekind(rab_failed_items, "?")) { + rsp.protocolIEs[idx] := { + id := S1AP_Constants.id_E_RABFailedToSetupListBearerSURes, + criticality := ignore, + value_ := { e_RABList := rab_failed_items } + }; + idx := idx + 1; + } + /* ignore the remaining IEs */ + rsp.protocolIEs[idx] := *; + + return rsp; +} + template (value) S1AP_PDU ts_S1AP_RABSetupRsp(template (value) MME_UE_S1AP_ID mme_id, template (value) ENB_UE_S1AP_ID enb_id, - template (value) E_RABSetupListBearerSURes rab_setup_items) := { + template (omit) E_RABSetupListBearerSURes rab_setup_items := omit, + template (omit) E_RABList rab_failed_items := omit) := { successfulOutcome := { procedureCode := S1AP_Constants.id_E_RABSetup, criticality := reject, value_ := { - e_RABSetupResponse := { - protocolIEs := { - { - id := S1AP_Constants.id_MME_UE_S1AP_ID, - criticality := ignore, - value_ := { MME_UE_S1AP_ID := mme_id } - }, { - id := S1AP_Constants.id_eNB_UE_S1AP_ID, - criticality := ignore, - value_ := { ENB_UE_S1AP_ID := enb_id } - }, { - id := S1AP_Constants.id_E_RABSetupListBearerSURes, - criticality := ignore, - value_ := { e_RABSetupListBearerSURes := rab_setup_items } - } - } - } + e_RABSetupResponse := f_ts_S1AP_RABSetupRsp(mme_id, enb_id, + rab_setup_items, + rab_failed_items) } } } template (present) S1AP_PDU tr_S1AP_RABSetupRsp(template (present) MME_UE_S1AP_ID mme_id := ?, template (present) ENB_UE_S1AP_ID enb_id := ?, - template (present) E_RABSetupListBearerSURes rab_setup_items := ?) := { + template E_RABSetupListBearerSURes rab_setup_items := *, + template E_RABList rab_failed_items := *) := { successfulOutcome := { procedureCode := S1AP_Constants.id_E_RABSetup, criticality := reject, value_ := { - e_RABSetupResponse := { - protocolIEs := { - { - id := S1AP_Constants.id_MME_UE_S1AP_ID, - criticality := ignore, - value_ := { MME_UE_S1AP_ID := mme_id } - }, { - id := S1AP_Constants.id_eNB_UE_S1AP_ID, - criticality := ignore, - value_ := { ENB_UE_S1AP_ID := enb_id } - }, { - id := S1AP_Constants.id_E_RABSetupListBearerSURes, - criticality := ignore, - value_ := { e_RABSetupListBearerSURes := rab_setup_items } - }, * - } - } + e_RABSetupResponse := f_tr_S1AP_RABSetupRsp(mme_id, enb_id, + rab_setup_items, + rab_failed_items) } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38578?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic369ae720179483a19383af2bddf56186965eae3 Gerrit-Change-Number: 38578 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: s1gw: add TC_e_rab_setup_failure
by fixeria 31 Oct '24

31 Oct '24
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38310?usp=email ) Change subject: s1gw: add TC_e_rab_setup_failure ...................................................................... s1gw: add TC_e_rab_setup_failure Change-Id: I97102292678e732265dcae04d60f7a708a5246dc Related: osmo-s1gw.git I242e84fb09b00f4794b6e1aa770f348a0e60aea4 Related: SYS#6772 --- M s1gw/S1GW_Tests.ttcn M s1gw/expected-results.xml 2 files changed, 63 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve diff --git a/s1gw/S1GW_Tests.ttcn b/s1gw/S1GW_Tests.ttcn index baede7d..729bc77 100644 --- a/s1gw/S1GW_Tests.ttcn +++ b/s1gw/S1GW_Tests.ttcn @@ -367,6 +367,66 @@ vc_conn.done; } +/* Test E-RAB SETUP procedure being aborted by the S1GW due to + * PFCP Session Establishment failure (cause=REQUEST_REJECTED). */ +function f_TC_e_rab_setup_failure(charstring id) runs on ConnHdlr { + var OCT4 addr := f_inet_addr(g_pars.pfcp_loc_addr); + var ERab erab := g_pars.erabs[0]; + + f_ConnHdlr_s1ap_register(g_pars.genb_id); + f_ConnHdlr_s1ap_connect(mp_enb_bind_ip, mp_s1gw_enb_ip); + f_ConnHdlr_s1ap_setup(g_pars.genb_id); + + /* see comments in f_ConnHdlr_erab_setup_req() */ + f_PFCPEM_subscribe_seid('0000000000000000'O); + f_PFCPEM_subscribe_seid(erab.pfcp_loc_seid); + + log("eNB <- [S1GW <- MME]: E-RAB SETUP REQUEST"); + f_ConnHdlr_tx_erab_setup_req({erab}); + log("UPF <- S1GW: PFCP Session Establishment Request"); + var PDU_PFCP req := f_ConnHdlr_rx_session_establish_req(erab); + /* store peer's SEID, so that it can be used in outgoing PDUs later */ + erab.pfcp_rem_seid := req.message_body.pfcp_session_establishment_request.CP_F_SEID.seid; + + log("UPF -> S1GW: PFCP Session Establishment Response (failure)"); + var template (value) PDU_PFCP resp; + resp := ts_PFCP_Session_Est_Resp(seq_nr := req.sequence_number, + node_id := ts_PFCP_Node_ID_ipv4(addr), + seid := erab.pfcp_rem_seid, + f_seid := ts_PFCP_F_SEID_ipv4(addr, erab.pfcp_loc_seid), + created_pdr := {}, + cause := ts_PFCP_Cause(REQUEST_REJECTED)); + PFCP.send(resp); + + /* see comments in f_ConnHdlr_erab_setup_req() */ + f_PFCPEM_unsubscribe_seid('0000000000000000'O); + f_PFCPEM_unsubscribe_seid(erab.pfcp_loc_seid); + + /* expect E-RAB SETUP RESPONSE replied by the S1GW */ + var template (present) S1AP_PDU setup_rsp; + var template (present) E_RABItem item; + var S1AP_PDU s1ap_pdu; + + log("eNB -- [S1GW -> MME]: E-RAB SETUP RESPONSE (failure)"); + item := tr_E_RABItem(erab.erab_id, {transport := transport_resource_unavailable}); + setup_rsp := tr_S1AP_RABSetupRsp(g_pars.mme_ue_id, g_pars.idx, + rab_setup_items := omit, + rab_failed_items := tr_E_RABList(item)); + f_ConnHdlr_rx_s1ap_from_enb(s1ap_pdu); + + f_ConnHdlr_s1ap_disconnect(); + f_ConnHdlr_s1ap_unregister(g_pars.genb_id); +} +testcase TC_e_rab_setup_failure() runs on test_CT { + var ConnHdlrPars pars := valueof(t_ConnHdlrPars); + var ConnHdlr vc_conn; + + f_init(); + + vc_conn := f_ConnHdlr_spawn(refers(f_TC_e_rab_setup_failure), pars); + vc_conn.done; +} + /* Test INITIAL CONTEXT SETUP procedure (successful case) */ function f_TC_initial_ctx_setup(charstring id) runs on ConnHdlr { f_ConnHdlr_s1ap_register(g_pars.genb_id); @@ -484,6 +544,7 @@ execute( TC_e_rab_setup_multi() ); execute( TC_e_rab_setup3_multi() ); execute( TC_e_rab_release_ind() ); + execute( TC_e_rab_setup_failure() ); execute( TC_initial_ctx_setup() ); execute( TC_initial_ctx_setup3() ); execute( TC_initial_ctx_setup_multi() ); diff --git a/s1gw/expected-results.xml b/s1gw/expected-results.xml index 3ddbb23..c6995c9 100644 --- a/s1gw/expected-results.xml +++ b/s1gw/expected-results.xml @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<testsuite name='S1GW_Tests' tests='15' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'> +<testsuite name='S1GW_Tests' tests='16' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'> <testcase classname='S1GW_Tests' name='TC_setup' time='MASKED'/> <testcase classname='S1GW_Tests' name='TC_setup_multi' time='MASKED'/> <testcase classname='S1GW_Tests' name='TC_conn_term_by_mme' time='MASKED'/> @@ -9,6 +9,7 @@ <testcase classname='S1GW_Tests' name='TC_e_rab_setup_multi' time='MASKED'/> <testcase classname='S1GW_Tests' name='TC_e_rab_setup3_multi' time='MASKED'/> <testcase classname='S1GW_Tests' name='TC_e_rab_release_ind' time='MASKED'/> + <testcase classname='S1GW_Tests' name='TC_e_rab_setup_failure' time='MASKED'/> <testcase classname='S1GW_Tests' name='TC_initial_ctx_setup' time='MASKED'/> <testcase classname='S1GW_Tests' name='TC_initial_ctx_setup3' time='MASKED'/> <testcase classname='S1GW_Tests' name='TC_initial_ctx_setup_multi' time='MASKED'/> -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38310?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97102292678e732265dcae04d60f7a708a5246dc Gerrit-Change-Number: 38310 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: s1gw: add TC_e_rab_setup_failure
by fixeria 31 Oct '24

31 Oct '24
fixeria has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38310?usp=email ) Change subject: s1gw: add TC_e_rab_setup_failure ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38310?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97102292678e732265dcae04d60f7a708a5246dc Gerrit-Change-Number: 38310 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 31 Oct 2024 10:03:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • ...
  • 164
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.