pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43965?usp=email )
Change subject: ausf,udm,udr,smf: Add func helpers to connect+send HTTP2_Msg ......................................................................
ausf,udm,udr,smf: Add func helpers to connect+send HTTP2_Msg
This way we decrease lines and complexity of function calls which are repeated for almost every procedure. This way we also enclose multiple mp_* variables further in one place.
Change-Id: I5db2254c3b67af5bfca7e744f3c07e58410befc5 --- M ausf/ConnHdlr.ttcn M smf/SMF_Session_CT_5G.ttcn M smf/SMF_Tests.ttcn M udm/ConnHdlr.ttcn M udr/ConnHdlr.ttcn 5 files changed, 60 insertions(+), 32 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/43965/1
diff --git a/ausf/ConnHdlr.ttcn b/ausf/ConnHdlr.ttcn index 386c544..dacfa1d 100644 --- a/ausf/ConnHdlr.ttcn +++ b/ausf/ConnHdlr.ttcn @@ -90,6 +90,17 @@ f_http2_server_emu_unregister(f_http2_server_path_match(), idx := HTTP2_CONN_SCP); }
+function f_http2_adapter_connect_ausf(integer idx := 0) +runs on ConnHdlr { + f_http2_adapter_connect(mp_ausf_hostname, mp_ausf_sbi_port, mp_amf_local_ip, idx := idx); +} + +function f_http2_adapter_connect_send_ausf(template (value) HTTP2_Msg http2_msg, integer idx := 0) +runs on ConnHdlr { + f_http2_adapter_connect_ausf(idx := idx); + f_http2_adapter_send(http2_msg); +} + /******************************************** * SCP /*******************************************/ @@ -146,8 +157,7 @@ servingNetworkName := g_pars.serving_network);
http2_tx := f_n12_prepare_post_ue_authentications(valueof(auth_info)); - f_http2_adapter_connect(mp_ausf_hostname, mp_ausf_sbi_port, mp_amf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_ausf(http2_tx, idx := http2_tx.conn_id);
as_Nudm_UEAU_post_generate_auth_data();
@@ -213,8 +223,7 @@ conf_data := ts_ConfirmationData(resStar := ts_ResStar(""));
http2_tx := f_n12_prepare_put_5g_aka_confirmation(valueof(conf_data)); - f_http2_adapter_connect(mp_ausf_hostname, mp_ausf_sbi_port, mp_amf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_ausf(http2_tx, idx := http2_tx.conn_id);
as_Nudm_UEAU_post_auth_events();
diff --git a/smf/SMF_Session_CT_5G.ttcn b/smf/SMF_Session_CT_5G.ttcn index 03d172c..ff77dad 100644 --- a/smf/SMF_Session_CT_5G.ttcn +++ b/smf/SMF_Session_CT_5G.ttcn @@ -69,6 +69,17 @@ f_http2_server_emu_unregister(f_http2_server_path_match(), idx := HTTP2_CONN_SCP); }
+function f_http2_adapter_connect_smf(integer idx := 0) +runs on SMF_Session_CT { + f_http2_adapter_connect(mp_smf_hostname, mp_smf_sbi_port, mp_amf_local_ip, idx := idx); +} + +function f_http2_adapter_connect_send_smf(template (value) HTTP2_Msg http2_msg, integer idx := 0) +runs on SMF_Session_CT { + f_http2_adapter_connect_smf(idx := idx); + f_http2_adapter_send(http2_msg); +} + /******************************************** * SCP /*******************************************/ @@ -220,7 +231,7 @@
http2_tx := f_n11_prepare_create_sm_context_pdu_sess_establishment();
- f_http2_adapter_connect(mp_smf_hostname, mp_smf_sbi_port, mp_amf_local_ip, idx := http2_tx.conn_id); + f_http2_adapter_connect_smf(idx := http2_tx.conn_id);
/////////// START MUTUAL EXCLUSION ZONE //////////// /* This code block cannot be executed by more than one component at a time because @@ -344,9 +355,7 @@ var octetstring ngap_enc := f_ngap_pdu_gen_PDUSessionResourceSetupResponseTransfer();
http2_tx := f_n11_prepare_update_sm_context(valueof(sm_ctx_update), ngap_enc); - - f_http2_adapter_connect(mp_smf_hostname, mp_smf_sbi_port, mp_amf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_smf(http2_tx, idx := http2_tx.conn_id);
/* SMF updates RAN GTPU IP addr+TEID info on UPF: */ as_pfcp_sess_mod_req(); @@ -376,9 +385,7 @@ var octetstring ngap_enc := enc_NGAP_PDUSessionResourceReleaseResponseTransfer(valueof(m_pDUSessionResourceReleaseResponseTransfer()));
http2_tx := f_n11_prepare_update_sm_context(valueof(sm_ctx_update), ngap_enc, omit); - - f_http2_adapter_connect(mp_smf_hostname, mp_smf_sbi_port, mp_amf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_smf(http2_tx, idx := http2_tx.conn_id);
/* Successful answer with no content: */ as_http2_adapter_receive(http2_rx, tr_HTTP2_Msg_204_No_Content(), idx := http2_tx.conn_id); @@ -399,9 +406,7 @@ var octetstring ngnas_enc := f_ng_nas_gen_session_release_complete();
http2_tx := f_n11_prepare_update_sm_context(valueof(sm_ctx_update), omit, ngnas_enc); - - f_http2_adapter_connect(mp_smf_hostname, mp_smf_sbi_port, mp_amf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_smf(http2_tx, idx := http2_tx.conn_id);
/* Successful answer with no content: */ as_http2_adapter_receive(http2_rx, tr_HTTP2_Msg_204_No_Content(), idx := http2_tx.conn_id); @@ -468,8 +473,7 @@ var octetstring ngap_enc := f_ngap_pdu_gen_PDUSessionResourceSetupResponseTransfer();
http2_tx := f_n11_prepare_release_sm_context(valueof(sm_ctx_rel), ngap_enc); - f_http2_adapter_connect(mp_smf_hostname, mp_smf_sbi_port, mp_amf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_smf(http2_tx, idx := http2_tx.conn_id);
/* SMF deletes PDU Session on UPF: */ as_pfcp_sess_del_req(); diff --git a/smf/SMF_Tests.ttcn b/smf/SMF_Tests.ttcn index c9945c9..14003d2 100644 --- a/smf/SMF_Tests.ttcn +++ b/smf/SMF_Tests.ttcn @@ -835,8 +835,7 @@ f_PFCPEM_subscribe_seid(c_SEID0);
http2_tx := f_n11_prepare_create_sm_context_pdu_sess_establishment(); - f_http2_adapter_connect(mp_smf_hostname, mp_smf_sbi_port, mp_amf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_smf(http2_tx, idx := http2_tx.conn_id);
/* PCF: register to rx generic path. We take advantage of the fact that * we are inside a mutual exclusion zone, so only one session can be here at a time. */ diff --git a/udm/ConnHdlr.ttcn b/udm/ConnHdlr.ttcn index 89bc0d9..ea0df46 100644 --- a/udm/ConnHdlr.ttcn +++ b/udm/ConnHdlr.ttcn @@ -89,6 +89,17 @@ f_http2_server_emu_unregister(f_http2_server_path_match(), idx := HTTP2_CONN_SCP); }
+function f_http2_adapter_connect_udm(integer idx := 0) +runs on ConnHdlr { + f_http2_adapter_connect(mp_udm_hostname, mp_udm_sbi_port, mp_ausf_local_ip, idx := idx); +} + +function f_http2_adapter_connect_send_udm(template (value) HTTP2_Msg http2_msg, integer idx := 0) +runs on ConnHdlr { + f_http2_adapter_connect_udm(idx := idx); + f_http2_adapter_send(http2_msg); +} + /******************************************** * SCP /*******************************************/ @@ -145,8 +156,7 @@ ausfInstanceId := g_pars.ausf_instance_id);
http2_tx := f_n13_prepare_generate_auth_data(valueof(auth_info_req)); - f_http2_adapter_connect(mp_udm_hostname, mp_udm_sbi_port, mp_ausf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_udm(http2_tx, idx := http2_tx.conn_id);
as_Nudr_DR_get_authentication_subscription();
@@ -211,8 +221,7 @@ servingNetworkName := g_pars.serving_network);
http2_tx := f_n13_prepare_auth_events(valueof(auth_event)); - f_http2_adapter_connect(mp_udm_hostname, mp_udm_sbi_port, mp_ausf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_udm(http2_tx, idx := http2_tx.conn_id);
as_Nudr_DR_put_authentication_status();
@@ -283,8 +292,7 @@ servingNetworkName := g_pars.serving_network);
http2_tx := f_n13_prepare_individual_auth_event(auth_event); - f_http2_adapter_connect(mp_udm_hostname, mp_udm_sbi_port, mp_ausf_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_udm(http2_tx, idx := http2_tx.conn_id);
/* FIXME: This is probably incorrect, it should send a DELETE, but it's what open5gs-udmd is sending right now... * See https://github.com/open5gs/open5gs/issues/4896 */ diff --git a/udr/ConnHdlr.ttcn b/udr/ConnHdlr.ttcn index 9ca68dc..d3eb4cc 100644 --- a/udr/ConnHdlr.ttcn +++ b/udr/ConnHdlr.ttcn @@ -90,6 +90,18 @@ f_http2_server_emu_unregister(f_http2_server_path_match(), idx := HTTP2_CONN_SCP); }
+ +function f_http2_adapter_connect_udr(integer idx := 0) +runs on ConnHdlr { + f_http2_adapter_connect(mp_udr_hostname, mp_udr_sbi_port, mp_udm_local_ip, idx := idx); +} + +function f_http2_adapter_connect_send_udr(template (value) HTTP2_Msg http2_msg, integer idx := 0) +runs on ConnHdlr { + f_http2_adapter_connect_udr(idx := idx); + f_http2_adapter_send(http2_msg); +} + /******************************************** * SCP /*******************************************/ @@ -157,8 +169,7 @@ var template (present) HTTP2_Msg http2_exp_rx;
http2_tx := f_n35_prepare_get_authentication_subscription(); - f_http2_adapter_connect(mp_udr_hostname, mp_udr_sbi_port, mp_udm_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_udr(http2_tx, idx := http2_tx.conn_id);
/* 3GPP TS 29.505 Table 5.2.2.3.1-3 */ http2_exp_rx := @@ -222,8 +233,7 @@ var template (present) HTTP2_Msg http2_exp_rx;
http2_tx := f_n35_prepare_patch_authentication_subscription(patch_item_li); - f_http2_adapter_connect(mp_udr_hostname, mp_udr_sbi_port, mp_udm_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_udr(http2_tx, idx := http2_tx.conn_id);
/* 3GPP TS 29.505 Table 5.2.2.3.2-3 */ http2_exp_rx := @@ -283,8 +293,7 @@ ratType := ts_RatType(NR));
http2_tx := f_n35_prepare_put_amf_3gpp_access(acc_reg); - f_http2_adapter_connect(mp_udr_hostname, mp_udr_sbi_port, mp_udm_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_udr(http2_tx, idx := http2_tx.conn_id);
/* 3GPP TS 29.505 Table 5.2.6.3.1-3 */ http2_exp_rx := @@ -336,8 +345,7 @@ var template (present) HTTP2_Msg http2_exp_rx;
http2_tx := f_n35_prepare_patch_amf_3gpp_access(patch_item_li); - f_http2_adapter_connect(mp_udr_hostname, mp_udr_sbi_port, mp_udm_local_ip, idx := http2_tx.conn_id); - f_http2_adapter_send(http2_tx); + f_http2_adapter_connect_send_udr(http2_tx, idx := http2_tx.conn_id);
/* 3GPP TS 29.505 Table 5.2.6.3.2-3 */ http2_exp_rx :=