Change in osmo-ttcn3-hacks[master]: hnodeb: Adapt HNBLIF to latest changes

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

pespin gerrit-no-reply at lists.osmocom.org
Thu Dec 16 16:39:36 UTC 2021


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26571 )

Change subject: hnodeb: Adapt HNBLIF to latest changes
......................................................................

hnodeb: Adapt HNBLIF to latest changes

Change-Id: I50a1b9be579ace9f0f85c6c68b5648d504f5f51c
---
M hnodeb/HNB_Tests.ttcn
M library/HNBLLIF_Templates.ttcn
M library/HNBLLIF_Types.ttcn
3 files changed, 36 insertions(+), 35 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  osmith: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/hnodeb/HNB_Tests.ttcn b/hnodeb/HNB_Tests.ttcn
index ca42e5c..c801ee6 100644
--- a/hnodeb/HNB_Tests.ttcn
+++ b/hnodeb/HNB_Tests.ttcn
@@ -296,6 +296,7 @@
 	var HostName hnodeb_rtp_addr;
 	var PortNumber hnodeb_rtp_port;
 	timer Tu;
+	var uint32_t audio_conn_id;
 
 	f_handle_hnbap_hnb_register_req();
 
@@ -317,8 +318,9 @@
 	/* Now LLSK provides the remote TransportLayerAddress from RabAssReq and asks SUT to provide a local address: */
 	LLSK.send(f_llsk_tx(ts_HNBLLIF_AUDIO_CONN_ESTABLISH_REQ(context_id, g_pars.hnbgw_rtp_port, HNBLL_IF_ADDR_TYPE_IPV4,
 								f_HNBLLIF_Addr(HNBLL_IF_ADDR_TYPE_IPV4, g_pars.hnbgw_addr))));
-	LLSK.receive(f_llsk_rx(tr_HNBLLIF_AUDIO_CONN_ESTABLISH_CNF(context_id, 0, ?, HNBLL_IF_ADDR_TYPE_IPV4, ?))) -> value sd;
+	LLSK.receive(f_llsk_rx(tr_HNBLLIF_AUDIO_CONN_ESTABLISH_CNF(context_id, ?, 0, ?, HNBLL_IF_ADDR_TYPE_IPV4, ?))) -> value sd;
 
+	audio_conn_id := sd.data.u.audio.u.conn_establish.u.cnf.audio_conn_id;
 	hnodeb_rtp_addr := f_inet_ntoa(sd.data.u.audio.u.conn_establish.u.cnf.local_addr);
 	if (not match(g_pars.hnodeb_addr, hnodeb_rtp_addr)) {
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "hnodeb RTP local address doesn't match expectations");
@@ -328,7 +330,7 @@
 	f_HNBGW_rtpem_activate(rtp_payload, hnodeb_rtp_addr, hnodeb_rtp_port);
 	/* Make sure that Uplink frames are received at the HNBGW */
 	RTPEM_DATA.clear;
-	LLSK.send(f_llsk_tx(ts_HNBLLIF_AUDIO_CONN_DATA_REQ(context_id, rtp_payload)));
+	LLSK.send(f_llsk_tx(ts_HNBLLIF_AUDIO_CONN_DATA_REQ(audio_conn_id, rtp_payload)));
 	Tu.start(2.0);
 	alt {
 	[] RTPEM_DATA.receive(PDU_RTP:?) -> value rtp_pdu {
@@ -344,11 +346,11 @@
 	}
 	Tu.stop;
 	/* We should also have received some RTP from the HNBGW: */
-	LLSK.receive(f_llsk_rx(tr_HNBLLIF_AUDIO_CONN_DATA_IND(context_id, rtp_payload)));
+	LLSK.receive(f_llsk_rx(tr_HNBLLIF_AUDIO_CONN_DATA_IND(audio_conn_id, rtp_payload)));
 
 	f_rtpem_mode(RTPEM_CTRL, RTPEM_MODE_NONE);
 
-	LLSK.send(f_llsk_tx(ts_HNBLLIF_AUDIO_CONN_RELEASE_REQ(context_id)));
+	LLSK.send(f_llsk_tx(ts_HNBLLIF_AUDIO_CONN_RELEASE_REQ(audio_conn_id)));
 
 	/* UE sends Iu Release Complete to release the conn */
 	LLSK.send(f_llsk_tx(ts_HNBLLIF_IUH_CONN_RELEASE_REQ(context_id, 0, 0, 0, hex2oct(iu_release_compl))));
@@ -371,6 +373,7 @@
 	var uint32_t local_tei;
 	var octetstring gtp_payload := f_rnd_octstring(40);
 	var HNBLLIF_send_data sd;
+	var uint32_t gtp_conn_id;
 
 	f_gtp_register_teid(int2oct(remote_tei, 4));
 
@@ -394,18 +397,19 @@
 	/* Now LLSK provides the remote TransportLayerAddress from RabAssReq and asks SUT to provide a local address: */
 	LLSK.send(f_llsk_tx(ts_HNBLLIF_GTP_CONN_ESTABLISH_REQ(context_id, remote_tei, HNBLL_IF_ADDR_TYPE_IPV4,
 							      f_HNBLLIF_Addr(HNBLL_IF_ADDR_TYPE_IPV4, g_pars.hnbgw_addr))));
-	LLSK.receive(f_llsk_rx(tr_HNBLLIF_GTP_CONN_ESTABLISH_CNF(context_id, ?, 0,
+	LLSK.receive(f_llsk_rx(tr_HNBLLIF_GTP_CONN_ESTABLISH_CNF(context_id, ?, ?, 0,
 								 HNBLL_IF_ADDR_TYPE_IPV4, ?))) -> value sd;
+	gtp_conn_id := sd.data.u.gtp.u.conn_establish.u.cnf.gtp_conn_id;
 	local_tei := sd.data.u.gtp.u.conn_establish.u.cnf.local_tei;
 
 	/* Forward GTP data in both directions */
-	LLSK.send(f_llsk_tx(ts_HNBLLIF_GTP_CONN_DATA_REQ(context_id, remote_tei, gtp_payload)));
+	LLSK.send(f_llsk_tx(ts_HNBLLIF_GTP_CONN_DATA_REQ(gtp_conn_id, gtp_payload)));
 	GTP.receive(tr_GTPU_GPDU(ts_GtpPeerU(g_pars.hnodeb_addr), int2oct(remote_tei, 4), gtp_payload));
 	f_gtpu_send(local_tei, gtp_payload);
-	LLSK.receive(f_llsk_rx(tr_HNBLLIF_GTP_CONN_DATA_IND(context_id, local_tei, gtp_payload)));
+	LLSK.receive(f_llsk_rx(tr_HNBLLIF_GTP_CONN_DATA_IND(gtp_conn_id, gtp_payload)));
 
 	/* Done, release GTP conn */
-	LLSK.send(f_llsk_tx(ts_HNBLLIF_GTP_CONN_RELEASE_REQ(context_id, remote_tei)));
+	LLSK.send(f_llsk_tx(ts_HNBLLIF_GTP_CONN_RELEASE_REQ(gtp_conn_id)));
 
 	/* UE sends Iu Release Complete to release the conn */
 	LLSK.send(f_llsk_tx(ts_HNBLLIF_IUH_CONN_RELEASE_REQ(context_id, 1, 0, 0, hex2oct(iu_release_compl))));
diff --git a/library/HNBLLIF_Templates.ttcn b/library/HNBLLIF_Templates.ttcn
index 78cf89a..fc82a72 100644
--- a/library/HNBLLIF_Templates.ttcn
+++ b/library/HNBLLIF_Templates.ttcn
@@ -279,6 +279,7 @@
 }
 
 template (present) HNBLLIF_Message tr_HNBLLIF_AUDIO_CONN_ESTABLISH_CNF(template (present) uint32_t context_id := ?,
+								     template (present) uint32_t audio_conn_id := ?,
 								     template (present) uint8_t error_code := ?,
 								     template (present) uint16_t local_rtp_port:= ?,
 								     template (present) HNBLLIF_AddrType local_rtp_address_type := ?,
@@ -293,6 +294,7 @@
 					u := {
 						cnf := {
 							context_id := context_id,
+							audio_conn_id := audio_conn_id,
 							local_rtp_port := local_rtp_port,
 							error_code := error_code,
 							local_rtp_address_type := local_rtp_address_type,
@@ -305,7 +307,7 @@
 	}
 }
 
-template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_RELEASE_REQ(template (value) uint32_t context_id) := {
+template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_RELEASE_REQ(template (value) uint32_t audio_conn_id) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
 		audio := {
@@ -315,7 +317,7 @@
 					op := HNBLL_IF_OP_REQUEST,
 					u := {
 						req := {
-							context_id := context_id
+							audio_conn_id := audio_conn_id
 						}
 					}
 				}
@@ -324,7 +326,7 @@
 	}
 }
 
-template (present) HNBLLIF_Message tr_HNBLLIF_AUDIO_CONN_DATA_IND(template (present) uint32_t context_id := ?,
+template (present) HNBLLIF_Message tr_HNBLLIF_AUDIO_CONN_DATA_IND(template (present) uint32_t audio_conn_id := ?,
 							        template (present) octetstring data := ?) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
@@ -335,7 +337,7 @@
 					op := HNBLL_IF_OP_INDICATION,
 					u := {
 						ind := {
-							context_id := context_id,
+							audio_conn_id := audio_conn_id,
 							data_len := ?,
 							data := data
 						}
@@ -346,7 +348,7 @@
 	}
 }
 
-template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_DATA_REQ(template (value) uint32_t context_id,
+template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_DATA_REQ(template (value) uint32_t audio_conn_id,
 							      template (value) octetstring data) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
@@ -357,7 +359,7 @@
 					op := HNBLL_IF_OP_REQUEST,
 					u := {
 						req := {
-							context_id := context_id,
+							audio_conn_id := audio_conn_id,
 							data_len := lengthof(data),
 							data := data
 						}
@@ -399,6 +401,7 @@
 }
 
 template (present) HNBLLIF_Message tr_HNBLLIF_GTP_CONN_ESTABLISH_CNF(template (present) uint32_t context_id := ?,
+								     template (present) uint32_t gtp_conn_id := ?,
 								     template (present) uint32_t local_tei := ?,
 								     template (present) uint8_t error_code := ?,
 								     template (present) HNBLLIF_AddrType local_gtpu_address_type := ?,
@@ -413,6 +416,7 @@
 					u := {
 						cnf := {
 							context_id := context_id,
+							gtp_conn_id := gtp_conn_id,
 							local_tei := local_tei,
 							error_code := error_code,
 							local_gtpu_address_type := local_gtpu_address_type,
@@ -425,8 +429,7 @@
 	}
 }
 
-template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_RELEASE_REQ(template (value) uint32_t context_id,
-								 template (value) uint32_t remote_tei) := {
+template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_RELEASE_REQ(template (value) uint32_t gtp_conn_id) := {
 	sapi := HNBLL_IF_SAPI_GTP,
 	u := {
 		gtp := {
@@ -436,8 +439,7 @@
 					op := HNBLL_IF_OP_REQUEST,
 					u := {
 						req := {
-							context_id := context_id,
-							remote_tei := remote_tei
+							gtp_conn_id := gtp_conn_id
 						}
 					}
 				}
@@ -446,8 +448,7 @@
 	}
 }
 
-template (present) HNBLLIF_Message tr_HNBLLIF_GTP_CONN_DATA_IND(template (present) uint32_t context_id := ?,
-							        template (present) uint32_t local_tei := ?,
+template (present) HNBLLIF_Message tr_HNBLLIF_GTP_CONN_DATA_IND(template (present) uint32_t gtp_conn_id,
 							        template (present) octetstring data := ?) := {
 	sapi := HNBLL_IF_SAPI_GTP,
 	u := {
@@ -458,8 +459,7 @@
 					op := HNBLL_IF_OP_INDICATION,
 					u := {
 						ind := {
-							context_id := context_id,
-							local_tei := local_tei,
+							gtp_conn_id := gtp_conn_id,
 							data_len := ?,
 							data := data
 						}
@@ -470,8 +470,7 @@
 	}
 }
 
-template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_DATA_REQ(template (value) uint32_t context_id,
-							      template (value) uint32_t remote_tei,
+template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_DATA_REQ(template (value) uint32_t gtp_conn_id,
 							      template (value) octetstring data) := {
 	sapi := HNBLL_IF_SAPI_GTP,
 	u := {
@@ -482,8 +481,7 @@
 					op := HNBLL_IF_OP_REQUEST,
 					u := {
 						req := {
-							context_id := context_id,
-							remote_tei := remote_tei,
+							gtp_conn_id := gtp_conn_id,
 							data_len := lengthof(data),
 							data := data
 						}
diff --git a/library/HNBLLIF_Types.ttcn b/library/HNBLLIF_Types.ttcn
index 95f91fc..a3a6c4c 100644
--- a/library/HNBLLIF_Types.ttcn
+++ b/library/HNBLLIF_Types.ttcn
@@ -252,6 +252,7 @@
 
 type record HNBLLIF_AUDIO_conn_establish_cnf {
 	uint32_t context_id,
+	uint32_t audio_conn_id,
 	uint16_t local_rtp_port,
 	uint8_t error_code,
 	HNBLLIF_AddrType local_rtp_address_type,
@@ -273,7 +274,7 @@
 
 /* CONN_RELEASE */
 type record HNBLLIF_AUDIO_conn_release_req {
-	uint32_t context_id
+	uint32_t audio_conn_id
 } with { variant "" };
 
 
@@ -290,13 +291,13 @@
 
 /* CONN_DATA */
 type record HNBLLIF_AUDIO_conn_data_ind {
-	uint32_t context_id,
+	uint32_t audio_conn_id,
 	uint32_t data_len,
 	octetstring data /* RANAP message */
 } with { variant (data_len) "LENGTHTO (data)" };
 
 type record HNBLLIF_AUDIO_conn_data_req {
-	uint32_t context_id,
+	uint32_t audio_conn_id,
 	uint32_t data_len,
 	octetstring data /* RANAP message */
 } with { variant (data_len) "LENGTHTO (data)" };
@@ -350,6 +351,7 @@
 
 type record HNBLLIF_GTP_conn_establish_cnf {
 	uint32_t context_id,
+	uint32_t gtp_conn_id,
 	uint32_t local_tei,
 	uint8_t error_code,
 	HNBLLIF_AddrType local_gtpu_address_type,
@@ -371,8 +373,7 @@
 
 /* CONN_RELEASE */
 type record HNBLLIF_GTP_conn_release_req {
-	uint32_t context_id,
-	uint32_t remote_tei
+	uint32_t gtp_conn_id
 } with { variant "" };
 
 type union HNBLLIF_GTP_PrimOpUnion_conn_release {
@@ -388,15 +389,13 @@
 
 /* CONN_DATA */
 type record HNBLLIF_GTP_conn_data_req {
-	uint32_t context_id,
-	uint32_t remote_tei,
+	uint32_t gtp_conn_id,
 	uint32_t data_len,
 	octetstring data /* RANAP message */
 } with { variant (data_len) "LENGTHTO (data)" };
 
 type record HNBLLIF_GTP_conn_data_ind {
-	uint32_t context_id,
-	uint32_t local_tei,
+	uint32_t gtp_conn_id,
 	uint32_t data_len,
 	octetstring data /* RANAP message */
 } with { variant (data_len) "LENGTHTO (data)" };

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26571
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: I50a1b9be579ace9f0f85c6c68b5648d504f5f51c
Gerrit-Change-Number: 26571
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: osmith <osmith at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211216/3f9f97fa/attachment.htm>


More information about the gerrit-log mailing list