lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41589?usp=email )
Change subject: ePDG: add echo request/response tests on GTPv2/S2b (ePDG <> P-GW) ......................................................................
ePDG: add echo request/response tests on GTPv2/S2b (ePDG <> P-GW)
Change-Id: I7d4fc45c72adef6db86d75f7fec3e43b86c32f2f --- M epdg/EPDG_Tests.ttcn M epdg/expected-results.xml 2 files changed, 35 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/41589/1
diff --git a/epdg/EPDG_Tests.ttcn b/epdg/EPDG_Tests.ttcn index e4aed42..05c089c 100644 --- a/epdg/EPDG_Tests.ttcn +++ b/epdg/EPDG_Tests.ttcn @@ -873,6 +873,25 @@ as_GTP2C_DeleteBearer_success(); }
+private function f_GTP2C_echo_request_response(integer recovery := 23) runs on EPDG_ConnHdlr { + timer T := 5.0; + var PDU_GTPCv2 rx_msg; + + GTP2.send(ts_GTP2C_EchoReq(recovery)); + T.start; + alt { + [] GTP2.receive(tr_GTP2C_EchoResp) -> value rx_msg { + setverdict(pass); + } + [] GTP2.receive { + repeat; + } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "timeout waiting for Echo Response"); + } + } +} + private template (value) Gtp1uPeer ts_GtpPeerU(octetstring ip) := { connId := 1, remName := f_inet_ntoa(ip), @@ -1188,6 +1207,20 @@ setverdict(pass); }
+private function f_TC_s2b_echo_requests(charstring id) runs on EPDG_ConnHdlr { + f_initial_attach(); + /* Transmit Echo Request from the P-GW towards ePDG on s2b */ + f_GTP2C_echo_request_response(); +} +testcase TC_s2b_echo_request() runs on MTC_CT { + var EPDG_ConnHdlrPars pars := f_init_pars(); + var EPDG_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_TC_s2b_echo_requests), pars); + vc_conn.done; + setverdict(pass); +} + /* 3GPP TS 29.273 Network Initiated De-Registration by HSS, Administrative */ private function f_TC_hss_initiated_deregister_new_server_assigned(charstring id) runs on EPDG_ConnHdlr { f_initial_attach(); @@ -1356,6 +1389,7 @@ execute ( TC_ho_lte_to_wifi() ); execute ( TC_ho_wifi_to_lte() ); execute ( TC_s2b_CreateSession_rejected() ); + execute ( TC_s2b_echo_request() ); execute ( TC_hss_initiated_deregister_new_server_assigned() ); execute ( TC_hss_initiated_deregister_permanent_termination() ); execute ( TC_hss_initiated_update_user_profile() ); diff --git a/epdg/expected-results.xml b/epdg/expected-results.xml index 6b37b8d..7c37609 100644 --- a/epdg/expected-results.xml +++ b/epdg/expected-results.xml @@ -7,6 +7,7 @@ <testcase classname='EPDG_Tests' name='TC_ho_lte_to_wifi' time='MASKED'/> <testcase classname='EPDG_Tests' name='TC_ho_wifi_to_lte' time='MASKED'/> <testcase classname='EPDG_Tests' name='TC_s2b_CreateSession_rejected' time='MASKED'/> + <testcase classname='EPDG_Tests' name='TC_s2b_echo_request' time='MASKED'/> <testcase classname='EPDG_Tests' name='TC_hss_initiated_deregister_new_server_assigned' time='MASKED'/> <testcase classname='EPDG_Tests' name='TC_hss_initiated_deregister_permanent_termination' time='MASKED'/> <testcase classname='EPDG_Tests' name='TC_hss_initiated_update_user_profile' time='MASKED'/>