hnbgw: test PS RAB Ass both with and without PFCP
Add mp_enable_pfcp_tests. When true, osmo-hnbgw-with-pfcp.cfg needs to be used. Related: I39b9632f8524a9f3455c1a2d7611bfe8ba07c2fd (osmo-hnbgw) Related: I02b60941343000a4618e95f56326bec170c32bfe (docker-playground) Related: SYS#6093 Change-Id: I511e758807e0512c18f3f9e0a8c4699b9a3f5992
This commit is contained in:
parent
0345d20778
commit
bacb74f241
|
@ -97,6 +97,8 @@ modulepar {
|
|||
rctx := 2
|
||||
};
|
||||
|
||||
boolean mp_enable_pfcp_tests := false;
|
||||
|
||||
/* IP address at which we listen for PFCP to emulate a UPF in ttcn3 */
|
||||
charstring mp_pfcp_ip_local := "127.0.0.1";
|
||||
|
||||
|
@ -1264,7 +1266,7 @@ template GtpParameters t_GtpParameters := {
|
|||
}
|
||||
}
|
||||
|
||||
friend function f_tc_ps_rab_assignment(charstring id, TestHdlrParams pars) runs on ConnHdlr {
|
||||
friend function f_tc_ps_rab_assignment_with_pfcp(charstring id, TestHdlrParams pars) runs on ConnHdlr {
|
||||
var RANAP_PDU tx;
|
||||
var RANAP_PDU rx;
|
||||
timer T := 5.0;
|
||||
|
@ -1353,14 +1355,76 @@ friend function f_tc_ps_rab_assignment(charstring id, TestHdlrParams pars) runs
|
|||
f_sleep(2.0);
|
||||
}
|
||||
|
||||
testcase TC_ps_rab_assignment() runs on test_CT {
|
||||
testcase TC_ps_rab_assignment_with_pfcp() runs on test_CT {
|
||||
var ConnHdlr vc_conn;
|
||||
g_num_hnbs := 1;
|
||||
f_init();
|
||||
f_start_hnbs();
|
||||
f_sleep(1.0);
|
||||
|
||||
vc_conn := f_start_handler_with_pars(refers(f_tc_ps_rab_assignment), t_pars(7, ps_domain := true));
|
||||
vc_conn := f_start_handler_with_pars(refers(f_tc_ps_rab_assignment_with_pfcp), t_pars(7, ps_domain := true));
|
||||
vc_conn.done;
|
||||
}
|
||||
|
||||
altstep as_disallow_pfcp() runs on ConnHdlr {
|
||||
[] PFCP.receive(PDU_PFCP:?) {
|
||||
setverdict(fail, "Received PFCP message, but no PFCP communication expected");
|
||||
mtc.stop;
|
||||
}
|
||||
}
|
||||
|
||||
friend function f_tc_ps_rab_assignment_without_pfcp(charstring id, TestHdlrParams pars) runs on ConnHdlr {
|
||||
var RANAP_PDU tx;
|
||||
var RANAP_PDU rx;
|
||||
timer T := 5.0;
|
||||
|
||||
f_init_handler(pars);
|
||||
|
||||
f_pfcp_register();
|
||||
activate(as_disallow_pfcp());
|
||||
|
||||
tx := f_build_initial_ue(g_pars);
|
||||
f_iuh2iu_connect(tx);
|
||||
|
||||
var GtpParameters gtp_pars := valueof(t_GtpParameters);
|
||||
var template RAB_SetupOrModifyList rab_sml;
|
||||
|
||||
/* Send RAB Assignment Request */
|
||||
rab_sml := ts_RAB_SML_ps(t_RAB_id(23), f_ts_RAB_TLA(gtp_pars.core.remote.addr), gtp_pars.core.remote.teid);
|
||||
tx := valueof(ts_RANAP_RabAssReq(rab_sml));
|
||||
BSSAP.send(tx);
|
||||
|
||||
/* Expect on Iuh: unmodified RAB Assignment Request */
|
||||
rx := valueof(ts_RANAP_RabAssReq(rab_sml));
|
||||
RUA.receive(rx);
|
||||
|
||||
/* Send back RAB Assignment Response via Iuh */
|
||||
var template RAB_SetupOrModifiedList rab_smdl;
|
||||
rab_smdl := ts_RAB_SMdL_ps(t_RAB_id(23), f_ts_RAB_TLA(gtp_pars.access.remote.addr),
|
||||
gtp_pars.access.remote.teid);
|
||||
tx := valueof(ts_RANAP_RabAssResp(rab_smdl));
|
||||
RUA.send(tx);
|
||||
|
||||
/* Expect on IuPS: unmodified RAB Assignment Response */
|
||||
BSSAP.receive(tr_RANAP_RabAssResp(rab_smdl));
|
||||
|
||||
f_sleep(2.0);
|
||||
tx := valueof(ts_RANAP_IuReleaseCommand(ts_RanapCause_om_intervention));
|
||||
f_iu2iuh(tx);
|
||||
|
||||
tx := valueof(ts_RANAP_IuReleaseComplete());
|
||||
f_iuh2iu(tx);
|
||||
|
||||
f_sleep(2.0);
|
||||
}
|
||||
|
||||
testcase TC_ps_rab_assignment_without_pfcp() runs on test_CT {
|
||||
var ConnHdlr vc_conn;
|
||||
f_init();
|
||||
f_start_hnbs();
|
||||
f_sleep(1.0);
|
||||
|
||||
vc_conn := f_start_handler_with_pars(refers(f_tc_ps_rab_assignment_without_pfcp), t_pars(7, ps_domain := true));
|
||||
vc_conn.done;
|
||||
}
|
||||
|
||||
|
@ -1379,7 +1443,12 @@ control {
|
|||
execute(TC_rab_assign_mgcp_to());
|
||||
execute(TC_ranap_cs_mo_disconnect());
|
||||
execute(TC_ranap_ps_mo_disconnect());
|
||||
execute(TC_ps_rab_assignment());
|
||||
|
||||
if (mp_enable_pfcp_tests) {
|
||||
execute(TC_ps_rab_assignment_with_pfcp());
|
||||
} else {
|
||||
execute(TC_ps_rab_assignment_without_pfcp());
|
||||
}
|
||||
|
||||
/* Run at the end since it makes osmo-hnbgw <= 1.3.0 crash: OS#5676 */
|
||||
execute(TC_hnb_reregister_reuse_sctp_assoc());
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
!
|
||||
! OsmoHNBGW (1.1.0) configuration saved from vty
|
||||
!!
|
||||
!
|
||||
log stderr
|
||||
logging filter all 1
|
||||
logging color 1
|
||||
logging print category-hex 1
|
||||
logging print category 1
|
||||
logging print thread-id 0
|
||||
logging print extended-timestamp 1
|
||||
logging print file 1
|
||||
logging level set-all debug
|
||||
!
|
||||
line vty
|
||||
no login
|
||||
!
|
||||
cs7 instance 0
|
||||
point-code 0.23.5
|
||||
sccp-address msc
|
||||
routing-indicator PC
|
||||
point-code 0.23.4
|
||||
sccp-address sgsn
|
||||
routing-indicator PC
|
||||
point-code 0.23.1
|
||||
hnbgw
|
||||
log-prefix hnb-id
|
||||
iuh
|
||||
local-ip 127.0.0.1
|
||||
local-port 29169
|
||||
hnbap-allow-tmsi 1
|
||||
iucs
|
||||
remote-addr msc
|
||||
iups
|
||||
remote-addr sgsn
|
||||
pfcp
|
||||
remote-addr 127.0.0.1
|
||||
local-addr 127.0.0.2
|
||||
local-port 8805
|
||||
timer pfcp x26 5
|
|
@ -33,8 +33,3 @@ hnbgw
|
|||
remote-addr msc
|
||||
iups
|
||||
remote-addr sgsn
|
||||
pfcp
|
||||
remote-addr 127.0.0.1
|
||||
local-addr 127.0.0.2
|
||||
local-port 8805
|
||||
timer pfcp x26 5
|
||||
|
|
Loading…
Reference in New Issue