summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Sperling <ssperling@sysmocom.de>2018-05-03 19:14:28 +0200
committerStefan Sperling <ssperling@sysmocom.de>2018-05-25 14:26:19 +0200
commitf82bbb6829afbc341e34e4a8f736c7e15e723cc4 (patch)
tree010675d520c6df43d847bd16d38a835be11fc914
parent2e32e4321b4db01537919a725b679ad554d96dbc (diff)
make PCU tests send PS paging requests on BVCI zero
osmo-pcu discards PAGING-PS messages unless received on the signalling BVCI 0. The BVCI value must be set to zero both in the NS header and the BSSGP header. Create new ports between the PCU_Test components which the TC_paging test case can use to ensure that both layers send frames with BVCI value of zero. This does not make PCU_Tests.tc_paging work yet, however the PS paging request is now processed by osmo-pcu rather than discarded. Change-Id: I0437123b04b7320a4f690f0646578c57abf6bc87 Related: OS#2404
-rw-r--r--library/BSSGP_Emulation.ttcn8
-rw-r--r--pcu/PCU_Tests.ttcn6
2 files changed, 11 insertions, 3 deletions
diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn
index c7766dc..321c344 100644
--- a/library/BSSGP_Emulation.ttcn
+++ b/library/BSSGP_Emulation.ttcn
@@ -80,6 +80,7 @@ type port BSSGP_PROC_PT procedure {
type component BSSGP_Client_CT {
port BSSGP_PT BSSGP;
+ port BSSGP_PT BSSGP_SIG;
port BSSGP_PROC_PT BSSGP_PROC;
};
@@ -99,10 +100,11 @@ private function f_init() runs on BSSGP_CT {
}
type component BSSGP_CT {
- /* UDP port towards the bottom (IUT) */
+ /* UDP ports towards the bottom (IUT) */
port NS_PT BSCP;
/* NS-User SAP towards the user */
port BSSGP_SP_PT BSSGP_SP;
+ port BSSGP_SP_PT BSSGP_SP_SIG;
port BSSGP_PROC_PT BSSGP_PROC;
var BssgpConfig g_cfg;
@@ -534,6 +536,10 @@ altstep as_unblocked() runs on BSSGP_CT {
}
}
+ [] BSSGP_SP_SIG.receive(PDU_BSSGP:?)-> value bs_pdu sender vc_conn {
+ BSCP.send(f_BnsUdReq(bs_pdu, 0));
+ }
+
/* pass virtually any PDU from user to NS-UNITDATA PDU on network */
[] BSSGP_SP.receive(PDU_BSSGP:?) -> value bs_pdu sender vc_conn {
BSCP.send(f_BnsUdReq(bs_pdu, g_cfg.bvci));
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index 12b63d6..6e36f68 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -60,6 +60,7 @@ module PCU_Tests {
bssgp_component := BSSGP_CT.create;
/* connect our BSSGP port to the BSSGP Emulation */
connect(self:BSSGP, bssgp_component:BSSGP_SP);
+ connect(self:BSSGP_SIG, bssgp_component:BSSGP_SP_SIG);
connect(self:BSSGP_PROC, bssgp_component:BSSGP_PROC);
/* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/
connect(bssgp_component:BSCP, ns_component:NS_SP);
@@ -200,8 +201,9 @@ module PCU_Tests {
g_mmctx.tlli := f_random_tlli();
f_init();
- BSSGP.send(ts_BSSGP_PS_PAGING_IMSI(mp_gb_cfg.bvci, g_mmctx.imsi));
- BSSGP.send(ts_BSSGP_PS_PAGING_PTMSI(mp_gb_cfg.bvci, g_mmctx.imsi, tmsi));
+ /* Send paging on signalling BVCI 0 since osmo-pcu does not support paging on PTP yet. */
+ BSSGP_SIG.send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi));
+ BSSGP_SIG.send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi));
while (true) {
var BssgpDecoded bd;