Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata

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/.

fixeria gerrit-no-reply at lists.osmocom.org
Mon May 25 15:15:15 UTC 2020


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


Change subject: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata
......................................................................

library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata

This would allow the RSL Emulation component to maintain several
transceiver connections in server mode. In order to send an RSL
message to a specific transceiver, its TCP/IP connection ID needs
to be included in the ASP_RSL_Unitdata message.

Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64
Related: OS#4546
---
M library/IPA_Emulation.ttcnpp
1 file changed, 19 insertions(+), 8 deletions(-)



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

diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp
index 1833a89..e0063b2 100644
--- a/library/IPA_Emulation.ttcnpp
+++ b/library/IPA_Emulation.ttcnpp
@@ -110,18 +110,23 @@
 #ifdef IPA_EMULATION_RSL
 /* like ASP_IPA_Unitdata, but with RSL_Message abstract type instead of octetstring */
 type record ASP_RSL_Unitdata {
+	integer		conn_id optional,
 	IpaStreamId	streamId,
 	RSL_Message	rsl
 };
 
 template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(template (value) RSL_Message rsl,
-						IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := {
+						IpaStreamId sid := IPAC_PROTO_RSL_TRX0,
+						template (omit) integer conn_id := omit) := {
+	conn_id := conn_id,
 	streamId := sid,
 	rsl := rsl
 }
 
 template ASP_RSL_Unitdata tr_ASP_RSL_UD(template (present) RSL_Message rsl,
-					template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := {
+					template IpaStreamId sid := IPAC_PROTO_RSL_TRX0,
+					template integer conn_id := *) := {
+	conn_id := conn_id,
 	streamId := sid,
 	rsl := rsl
 }
@@ -479,8 +484,13 @@
 #ifdef IPA_EMULATION_RSL
 private function f_from_rsl(IPL4asp_Types.ConnectionId connId, ASP_RSL_Unitdata rsl_tx) return IPA_Send {
 	var octetstring payload := enc_RSL_Message(rsl_tx.rsl);
-	var IPA_Send ret := valueof(t_IPA_Send(connId, rsl_tx.streamId, payload));
-	return ret;
+
+	/* ASP_RSL_Unitdata may (optionally) contain TCP/IP connection ID */
+	if (rsl_tx.conn_id != omit) {
+		connId := rsl_tx.conn_id;
+	}
+
+	return valueof(t_IPA_Send(connId, rsl_tx.streamId, payload));
 }
 #endif
 
@@ -654,10 +664,11 @@
 #endif
 #ifdef IPA_EMULATION_RSL
 			case (t_IpaSidRSL) {
-				rsl := {
-					streamId := ipa_rx.streamId,
-					rsl := dec_RSL_Message(ipa_rx.msg)
-				};
+				rsl := valueof(ts_ASP_RSL_UD(
+					sid := ipa_rx.streamId,
+					rsl := dec_RSL_Message(ipa_rx.msg),
+					conn_id := ipa_rx.connId
+				));
 				IPA_RSL_PORT.send(rsl);
 			}
 #endif

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462
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: I5c48d043cd746aad03e4329d9ffd2a627b640f64
Gerrit-Change-Number: 18462
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <axilirator at gmail.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200525/bfe66295/attachment.htm>


More information about the gerrit-log mailing list