Change in osmo-ttcn3-hacks[master]: BSSGP_Emulation: Make L3 (SM/GMM) decoding a compile-time option

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Sun Sep 13 08:04:59 UTC 2020


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20106 )


Change subject: BSSGP_Emulation: Make L3 (SM/GMM) decoding a compile-time option
......................................................................

BSSGP_Emulation: Make L3 (SM/GMM) decoding a compile-time option

This allows us to build low-level tests that don't require all of L3.

Change-Id: I7ef7e93e2cd1d37e7e4a62947ca8dfde30d93b95
---
R library/BSSGP_Emulation.ttcnpp
M pcu/gen_links.sh
M pcu/regen_makefile.sh
M sgsn/gen_links.sh
M sgsn/regen_makefile.sh
5 files changed, 48 insertions(+), 13 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/20106/1

diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcnpp
similarity index 97%
rename from library/BSSGP_Emulation.ttcn
rename to library/BSSGP_Emulation.ttcnpp
index e3023ed..05a730b 100644
--- a/library/BSSGP_Emulation.ttcn
+++ b/library/BSSGP_Emulation.ttcnpp
@@ -18,8 +18,10 @@
 import from Osmocom_Gb_Types all;
 import from IPL4asp_Types all;
 
+#ifdef BSSGP_EM_L3
 import from MobileL3_GMM_SM_Types all;
 import from MobileL3_Types all;
+#endif
 
 import from LLC_Types all;
 import from LLC_Templates all;
@@ -50,17 +52,25 @@
 /* port from our (internal) point of view */
 type port BSSGP_SP_PT message {
 	in	PDU_BSSGP,
-		PDU_LLC,
+		PDU_LLC
+#ifdef BSSGP_EM_L3
+		,
 		PDU_L3_MS_SGSN,
-		PDU_L3_SGSN_MS;
+		PDU_L3_SGSN_MS
+#endif
+		;
 	out	PDU_BSSGP,
 		PDU_LLC,
 		PDU_SN,
 		NsStatusIndication,
 		BssgpStatusIndication,
-		ASP_Event,
+		ASP_Event
+#ifdef BSSGP_EM_L3
+		,
 		PDU_L3_MS_SGSN,
-		PDU_L3_SGSN_MS;
+		PDU_L3_SGSN_MS
+#endif
+		;
 } with { extension "internal" };
 
 /* port from the user point of view */
@@ -70,13 +80,21 @@
 		BssgpStatusIndication,
 		PDU_BSSGP,
 		PDU_LLC,
-		PDU_SN,
+		PDU_SN
+#ifdef BSSGP_EM_L3
+		,
 		PDU_L3_MS_SGSN,
-		PDU_L3_SGSN_MS;
+		PDU_L3_SGSN_MS
+#endif
+		;
 	out	PDU_BSSGP,
-		PDU_LLC,
+		PDU_LLC
+#ifdef BSSGP_EM_L3
+		,
 		PDU_L3_SGSN_MS,
-		PDU_L3_MS_SGSN;
+		PDU_L3_MS_SGSN
+#endif
+		;
 } with { extension "internal" };
 
 signature BSSGP_register_client(hexstring imsi, OCT4 tlli, BssgpCellId cell_id);
@@ -167,8 +185,11 @@
 type enumerated BssgpDecodeDepth {
 	BSSGP_DECODE_DEPTH_BSSGP,
 	BSSGP_DECODE_DEPTH_LLC,
-	BSSGP_DECODE_DEPTH_SNDCP,
+	BSSGP_DECODE_DEPTH_SNDCP
+#ifdef BSSGP_EM_L3
+	,
 	BSSGP_DECODE_DEPTH_L3
+#endif
 };
 
 type record BssgpConfig {
@@ -524,8 +545,10 @@
 	var NsUnitdataIndication udi;
 	var PDU_BSSGP bs_pdu;
 	var PDU_LLC llc;
+#ifdef BSSGP_EM_L3
 	var PDU_L3_MS_SGSN l3_mo;
 	var PDU_L3_SGSN_MS l3_mt;
+#endif
 
 	/* bogus unblock, just respond with ACK */
 	[] BSCP.receive(f_BnsUdInd(t_BVC_UNBLOCK(g_cfg.bvci), 0)) -> value udi {
@@ -618,6 +641,7 @@
 		BSCP.send(f_BnsUdReq(bs_pdu, g_cfg.bvci));
 	}
 
+#ifdef BSSGP_EM_L3
 	/* ConnHdlr sends L3: Encode and send as UL_UD / DL_UD */
 	[g_cfg.sgsn_role] BSSGP_SP.receive(PDU_L3_SGSN_MS:?) -> value l3_mt sender vc_conn {
 		var integer idx := f_tbl_idx_by_comp(vc_conn);
@@ -635,6 +659,7 @@
 		var octetstring llc_enc := enc_PDU_LLC(valueof(ts_LLC_UI(l3_enc, sapi, '1'B, n_u)));
 		BSCP.send(f_BnsUdReq(ts_BSSGP_UL_UD(ClientTable[idx].tlli, ClientTable[idx].cell_id, llc_enc), g_cfg.bvci));
 	}
+#endif
 
 	/* ConnHdlr sends raw LLC: Encode and send as UL_UD / DL_UD */
 	[not g_cfg.sgsn_role] BSSGP_SP.receive(PDU_LLC:?) -> value llc sender vc_conn {
@@ -656,6 +681,7 @@
 	return ret;
 }
 
+#ifdef BSSGP_EM_L3
 function f_llc_sapi_by_l3_mo(PDU_L3_MS_SGSN l3_mo) return BIT4 {
 	if (ischosen(l3_mo.msgs.gprs_mm)) {
 		return c_LLC_SAPI_LLGMM;
@@ -679,6 +705,7 @@
 	setverdict(fail, "No LLC SAPI for ", l3_mt);
 	mtc.stop;
 }
+#endif
 
 
 
@@ -698,8 +725,10 @@
 type record BssgpDecoded {
 	PDU_BSSGP bssgp,
 	PDU_LLC llc optional,
+#ifdef BSSGP_EM_L3
 	PDU_L3_MS_SGSN l3_mo optional,
 	PDU_L3_SGSN_MS l3_mt optional,
+#endif
 	PDU_SN sndcp optional
 }
 
@@ -708,8 +737,10 @@
 	var BssgpDecoded dec := {
 		bssgp := bssgp,
 		llc := omit,
+#ifdef BSSGP_EM_L3
 		l3_mo := omit,
 		l3_mt := omit,
+#endif
 		sndcp := omit
 	};
 
@@ -729,6 +760,7 @@
 		}
 	}
 
+#ifdef BSSGP_EM_L3
 	/* Decode L3, if it is a LLC PDU containing L3 */
 	if (g_cfg.depth >= BSSGP_DECODE_DEPTH_L3) {
 		if (isvalue(dec.llc) and match(dec.llc, tr_LLC_UI_L3)) {
@@ -739,6 +771,7 @@
 			}
 		}
 	}
+#endif
 
 	return dec;
 }
diff --git a/pcu/gen_links.sh b/pcu/gen_links.sh
index 3a52c99..d834bd0 100755
--- a/pcu/gen_links.sh
+++ b/pcu/gen_links.sh
@@ -51,7 +51,7 @@
 DIR=../library
 FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc "
 FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc "
-FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn "
+FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn "
 FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn "
 FILES+="PCUIF_Types.ttcn PCUIF_CodecPort.ttcn "
 gen_links $DIR $FILES
diff --git a/pcu/regen_makefile.sh b/pcu/regen_makefile.sh
index 6fd000e..b2063ac 100755
--- a/pcu/regen_makefile.sh
+++ b/pcu/regen_makefile.sh
@@ -1,5 +1,7 @@
 #!/bin/sh
 
-FILES="*.ttcn BSSGP_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc UD_PT.cc RLCMAC_EncDec.cc LLC_EncDec.cc TELNETasp_PT.cc Native_FunctionDefs.cc"
+FILES="*.ttcn *.ttcnpp BSSGP_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc UD_PT.cc RLCMAC_EncDec.cc LLC_EncDec.cc TELNETasp_PT.cc Native_FunctionDefs.cc"
+
+export CPPFLAGS_TTCN3="-DBSSGP_EM_L3"
 
 ../regen-makefile.sh PCU_Tests.ttcn $FILES
diff --git a/sgsn/gen_links.sh b/sgsn/gen_links.sh
index 541670d..578b454 100755
--- a/sgsn/gen_links.sh
+++ b/sgsn/gen_links.sh
@@ -85,7 +85,7 @@
 DIR=../library
 FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc "
 FILES+="NS_Emulation.ttcn PCUIF_Types.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc "
-FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn "
+FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn "
 FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn "
 FILES+="Osmocom_VTY_Functions.ttcn "
 FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn "
diff --git a/sgsn/regen_makefile.sh b/sgsn/regen_makefile.sh
index a239a3b..1d1411e 100755
--- a/sgsn/regen_makefile.sh
+++ b/sgsn/regen_makefile.sh
@@ -2,7 +2,7 @@
 
 FILES="*.ttcn *.ttcnpp *.asn BSSGP_EncDec.cc LLC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IPA_CodecPort_CtrlFunctDef.cc GTPU_EncDec.cc GTPC_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc SCCP_EncDec.cc  SCTPasp_PT.cc RANAP_EncDec.cc "
 
-export CPPFLAGS_TTCN3="-DIPA_EMULATION_GSUP -DIPA_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR -DRAN_EMULATION_RANAP"
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_GSUP -DIPA_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR -DRAN_EMULATION_RANAP -DBSSGP_EM_L3"
 
 ../regen-makefile.sh SGSN_Tests.ttcn $FILES
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20106
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I7ef7e93e2cd1d37e7e4a62947ca8dfde30d93b95
Gerrit-Change-Number: 20106
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200913/2a859216/attachment.htm>


More information about the gerrit-log mailing list