Change in osmo-ttcn3-hacks[master]: bssgp: Introduce "GLOBAL" port for PTP BVC

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
Wed Dec 9 14:32:12 UTC 2020


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


Change subject: bssgp: Introduce "GLOBAL" port for PTP BVC
......................................................................

bssgp: Introduce "GLOBAL" port for PTP BVC

There are some messages/procedures on a PTP BVC which are not related
to one specific TLLI, but affect the whole PTP BVC.  First and foremost
that is the FLOW-CONTROL-BVC. Let's check if the user is interested in
handling those internally (by connecting to the GLOBAL port).  If not,
fall back to acknowledging all incoing FC-BVC and ignoring all ACKs.

Related: OS#4891
Change-Id: Ib80a6a522dbcb33fd0e7bd31a73ef28fdc636f57
---
M library/BSSGP_Emulation.ttcnpp
1 file changed, 24 insertions(+), 8 deletions(-)



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

diff --git a/library/BSSGP_Emulation.ttcnpp b/library/BSSGP_Emulation.ttcnpp
index ebe9f45..633eee2 100644
--- a/library/BSSGP_Emulation.ttcnpp
+++ b/library/BSSGP_Emulation.ttcnpp
@@ -698,7 +698,10 @@
 	/* port to a management instance */
 	port BSSGP_BVC_MGMT_SP_PT MGMT;
 
-	/* BSSGP-User SAP towards the user (Client) */
+	/* per-BVC global port for e.g. BVC Flow Control */
+	port BSSGP_SP_PT GLOBAL;
+
+	/* BSSGP-User SAP towards the user (per-TLLI, Client) */
 	port BSSGP_SP_PT BSSGP_SP;
 	port BSSGP_SP_PT BSSGP_SP_SIG;
 	port BSSGP_PROC_PT BSSGP_PROC;
@@ -1119,16 +1122,24 @@
 
 	[] as_ptp_handle_inbound_reset();
 
-	/* simply acknowledge all per-BVC Flow Control Messages */
 	[g_sgsn_role] BVC.receive(tr_ptp_BnsUdInd(tr_BVC_FC_BVC, g_cfg.bvci)) -> value udi {
-		var OCT1 tag := udi.bssgp.pDU_BSSGP_FLOW_CONTROL_BVC.tag.unstructured_Value;
-		BVC.send(ts_ptp_BnsUdReq(t_BVC_FC_BVC_ACK(tag), g_cfg.bvci, g_bvc_lsp));
+		if (GLOBAL.checkstate("Connected")) {
+			GLOBAL.send(udi.bssgp);
+		} else {
+			/* simply acknowledge all per-BVC Flow Control Messages */
+			var OCT1 tag := udi.bssgp.pDU_BSSGP_FLOW_CONTROL_BVC.tag.unstructured_Value;
+			BVC.send(ts_ptp_BnsUdReq(t_BVC_FC_BVC_ACK(tag), g_cfg.bvci, g_bvc_lsp));
+		}
 	}
-/*
-	[g_sgsn_role] BVC.receive(tr_ptp_BnsUdInd(t_BVC_FC_MS, g_cfg.bvci)) {
-		BVC.send(ts_ptp_BnsUdReq(t_BVC_FC_MS_ACK, g_cfg.bvci));
+
+	[not g_sgsn_role] BVC.receive(tr_ptp_BnsUdInd(t_BVC_FC_BVC_ACK(?), g_cfg.bvci)) -> value udi {
+		if (GLOBAL.checkstate("Connected")) {
+			GLOBAL.send(udi.bssgp);
+		} else {
+			/* ignore any incoming flow control ACK */
+		}
 	}
-*/
+
 	/* Any other PTP BSSGP message: If it has TLLI, route to component; otherwise broadcast */
 	[] BVC.receive(tr_ptp_BnsUdInd(?, g_cfg.bvci)) -> value udi {
 		var BssgpDecoded dec := f_dec_bssgp(udi.bssgp);
@@ -1221,6 +1232,11 @@
 		BVC.send(ts_ptp_BnsUdReq(ts_BSSGP_DL_UD(tlli, llc_enc), g_cfg.bvci, oct2int(tlli)));
 	}
 
+	/* Testcase sends us BSSGP on global port */
+	[] GLOBAL.receive(PDU_BSSGP:?)-> value bs_pdu sender vc_conn {
+		BVC.send(ts_ptp_BnsUdReq(bs_pdu, g_cfg.bvci, g_bvc_lsp));
+	}
+
 	[] MGMT.receive(BssgpBlockRequest:?) -> value bbr {
 		f_ptp_sendBlock(bbr.cause);
 		}

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21629
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: Ib80a6a522dbcb33fd0e7bd31a73ef28fdc636f57
Gerrit-Change-Number: 21629
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/20201209/08f4eb8b/attachment.htm>


More information about the gerrit-log mailing list