[PATCH] osmo-pcu[master]: Change interface in osmo-pcu for 11 bit RACH

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

bhargava_abhyankar gerrit-no-reply at lists.osmocom.org
Tue Jun 28 14:27:22 UTC 2016


Review at  https://gerrit.osmocom.org/429

Change interface in osmo-pcu for 11 bit RACH

Interface structure between osmo-bts and osmo-pcu is updated with
the parameters to differentiate the type of RACH and further
support 11 bit RACH. The function prototype and definitions are
changed accordingly. Interface version number is increased.

Change-Id: I265c2d92d36d6cbcbeee60cdd8407dafe1da06a4
---
M src/bts.cpp
M src/bts.h
M src/pcu_l1_if.cpp
M src/pcuif_proto.h
M tests/tbf/TbfTest.cpp
5 files changed, 17 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/29/429/1

diff --git a/src/bts.cpp b/src/bts.cpp
index c53c92c..d284c1f 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -467,7 +467,8 @@
 	return 0;
 }
 
-int BTS::rcv_rach(uint8_t ra, uint32_t Fn, int16_t qta)
+int BTS::rcv_rach(uint16_t ra, uint32_t Fn, int16_t qta, uint8_t is_11bit,
+		enum ph_burst_type burst)
 {
 	struct gprs_rlcmac_ul_tbf *tbf = NULL;
 	uint8_t trx_no, ts_no = 0;
diff --git a/src/bts.h b/src/bts.h
index 807ce08..0a99b21 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -28,6 +28,7 @@
 #include <osmocom/core/stat_item.h>
 #include <osmocom/core/timer.h>
 #include <osmocom/core/gsmtap.h>
+#include <osmocom/gsm/l1sap.h>
 }
 
 #include "poll_controller.h"
@@ -285,7 +286,8 @@
 	int tfi_find_free(enum gprs_rlcmac_tbf_direction dir, uint8_t *_trx, int8_t use_trx);
 
 	int rcv_imm_ass_cnf(const uint8_t *data, uint32_t fn);
-	int rcv_rach(uint8_t ra, uint32_t Fn, int16_t qta);
+	int rcv_rach(uint16_t ra, uint32_t Fn, int16_t qta, uint8_t is_11bit,
+		enum ph_burst_type burst);
 
 	void trigger_dl_ass(gprs_rlcmac_dl_tbf *tbf, gprs_rlcmac_tbf *old_tbf);
 	void snd_dl_ass(gprs_rlcmac_tbf *tbf, uint8_t poll, const char *imsi);
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 790789c..d586e89 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -314,7 +314,8 @@
 	case PCU_IF_SAPI_RACH:
 		rc = BTS::main_bts()->rcv_rach(
 			rach_ind->ra, rach_ind->fn,
-			rach_ind->qta);
+			rach_ind->qta, rach_ind->is_11bit,
+			rach_ind->burst);
 		break;
 	default:
 		LOGP(DL1IF, LOGL_ERROR, "Received PCU rach request with "
diff --git a/src/pcuif_proto.h b/src/pcuif_proto.h
index 9d740ac..eb11770 100644
--- a/src/pcuif_proto.h
+++ b/src/pcuif_proto.h
@@ -1,7 +1,9 @@
 #ifndef _PCUIF_PROTO_H
 #define _PCUIF_PROTO_H
 
-#define PCU_IF_VERSION		0x05
+#include <osmocom/gsm/l1sap.h>
+
+#define PCU_IF_VERSION		0x06
 
 /* msg_type */
 #define PCU_IF_MSG_DATA_REQ	0x00	/* send data to given channel */
@@ -64,10 +66,12 @@
 
 struct gsm_pcu_if_rach_ind {
 	uint8_t		sapi;
-	uint8_t		ra;
+	uint16_t	ra;
 	int16_t		qta;
 	uint32_t	fn;
 	uint16_t	arfcn;
+	uint8_t         is_11bit;
+	enum ph_burst_type burst;
 } __attribute__ ((packed));
 
 struct gsm_pcu_if_info_trx {
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index e1be844..324430d 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -35,6 +35,7 @@
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/utils.h>
 #include <osmocom/vty/vty.h>
+#include <osmocom/gsm/l1sap.h>
 }
 
 #include <errno.h>
@@ -552,7 +553,7 @@
 
 	tfi = the_bts->tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
 
-	the_bts->rcv_rach(0x03, *fn, qta);
+	the_bts->rcv_rach(0x03, *fn, qta, 0, GSM_L1_BURST_TYPE_ACCESS_0);
 
 	ul_tbf = the_bts->ul_tbf_by_tfi(tfi, trx_no, ts_no);
 	OSMO_ASSERT(ul_tbf != NULL);
@@ -638,8 +639,8 @@
 	/* needed to set last_rts_fn in the PDCH object */
 	request_dl_rlc_block(bts, trx_no, ts_no, 0, fn);
 
-	/* simulate RACH, this sends an Immediate Assignment Uplink on the AGCH */
-	the_bts->rcv_rach(0x73, rach_fn, qta);
+	/* simulate RACH, sends an Immediate Assignment Uplink on the AGCH */
+	the_bts->rcv_rach(0x73, rach_fn, qta, 0, GSM_L1_BURST_TYPE_ACCESS_0);
 
 	/* get next free TFI */
 	tfi = the_bts->tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);

-- 
To view, visit https://gerrit.osmocom.org/429
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I265c2d92d36d6cbcbeee60cdd8407dafe1da06a4
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: bhargava_abhyankar <Bhargava.Abhyankar at radisys.com>



More information about the gerrit-log mailing list