[MERGED] openbsc[master]: SI13: drop PBCCH-related bits

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

Max gerrit-no-reply at lists.osmocom.org
Wed Aug 30 08:26:14 UTC 2017


Max has submitted this change and it was merged.

Change subject: SI13: drop PBCCH-related bits
......................................................................


SI13: drop PBCCH-related bits

According to 3GPP TS 44.018 §1.8 the "network shall never enable PBCCH
and PCCCH".

Change-Id: I319e71a4b0c682361529e9c21377398a826b934b
Related: OS#2400
---
M openbsc/include/openbsc/rest_octets.h
M openbsc/src/libbsc/rest_octets.c
M openbsc/src/libbsc/system_information.c
3 files changed, 20 insertions(+), 69 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/openbsc/include/openbsc/rest_octets.h b/openbsc/include/openbsc/rest_octets.h
index 49a2312..ca7b57c 100644
--- a/openbsc/include/openbsc/rest_octets.h
+++ b/openbsc/include/openbsc/rest_octets.h
@@ -62,12 +62,6 @@
 /* Generate SI4 Rest Octets (Chapter 10.5.2.35) */
 int rest_octets_si4(uint8_t *data, const struct gsm48_si_ro_info *si4, int len);
 
-enum pbcch_carrier_type {
-	PBCCH_BCCH,
-	PBCCH_ARFCN,
-	PBCCH_MAIO
-};
-
 /* TS 03.60 Chapter 6.3.3.1: Network Mode of Operation */
 enum gprs_nmo {
 	GPRS_NMO_I	= 0,	/* CS pagin on GPRS paging or traffic channel */
@@ -112,25 +106,10 @@
 	struct gprs_power_ctrl_pars pwr_ctrl_pars;
 	uint8_t bcch_change_mark;
 	uint8_t si_change_field;
-	uint8_t pbcch_present;
-
-	union {
-		struct {
-			uint8_t rac;
-			uint8_t spgc_ccch_sup;
-			uint8_t net_ctrl_ord;
-			uint8_t prio_acc_thr;
-		} no_pbcch;
-		struct {
-			uint8_t psi1_rep_per;
-			uint8_t pb;
-			uint8_t tsc;
-			uint8_t tn;
-			enum pbcch_carrier_type carrier_type;
-			uint16_t arfcn;
-			uint8_t maio;
-		} pbcch;
-	};
+	uint8_t rac;
+	uint8_t spgc_ccch_sup;
+	uint8_t net_ctrl_ord;
+	uint8_t prio_acc_thr;
 };
 
 /* Generate SI13 Rest Octests (Chapter 10.5.2.37b) */
diff --git a/openbsc/src/libbsc/rest_octets.c b/openbsc/src/libbsc/rest_octets.c
index fdab70a..78e7413 100644
--- a/openbsc/src/libbsc/rest_octets.c
+++ b/openbsc/src/libbsc/rest_octets.c
@@ -816,39 +816,16 @@
 			bitvec_set_uint(&bv, si13->bcch_change_mark, 2);
 			append_gprs_mobile_alloc(&bv);
 		}
-		if (!si13->pbcch_present) {
-			/* PBCCH not present in cell */
-			bitvec_set_bit(&bv, 0);
-			bitvec_set_uint(&bv, si13->no_pbcch.rac, 8);
-			bitvec_set_bit(&bv, si13->no_pbcch.spgc_ccch_sup);
-			bitvec_set_uint(&bv, si13->no_pbcch.prio_acc_thr, 3);
-			bitvec_set_uint(&bv, si13->no_pbcch.net_ctrl_ord, 2);
-			append_gprs_cell_opt(&bv, &si13->cell_opts);
-			append_gprs_pwr_ctrl_pars(&bv, &si13->pwr_ctrl_pars);
-		} else {
-			/* PBCCH present in cell */
-			bitvec_set_bit(&bv, 1);
-			bitvec_set_uint(&bv, si13->pbcch.psi1_rep_per, 4);
-			/* PBCCH Descripiton */
-			bitvec_set_uint(&bv, si13->pbcch.pb, 4);
-			bitvec_set_uint(&bv, si13->pbcch.tsc, 3);
-			bitvec_set_uint(&bv, si13->pbcch.tn, 3);
-			switch (si13->pbcch.carrier_type) {
-			case PBCCH_BCCH:
-				bitvec_set_bit(&bv, 0);
-				bitvec_set_bit(&bv, 0);
-				break;
-			case PBCCH_ARFCN:
-				bitvec_set_bit(&bv, 0);
-				bitvec_set_bit(&bv, 1);
-				bitvec_set_uint(&bv, si13->pbcch.arfcn, 10);
-				break;
-			case PBCCH_MAIO:
-				bitvec_set_bit(&bv, 1);
-				bitvec_set_uint(&bv, si13->pbcch.maio, 6);
-				break;
-			}
-		}
+		/* PBCCH not present in cell:
+		   it shall never be indicated according to 3GPP TS 44.018 Table 10.5.2.37b.1 */
+		bitvec_set_bit(&bv, 0);
+		bitvec_set_uint(&bv, si13->rac, 8);
+		bitvec_set_bit(&bv, si13->spgc_ccch_sup);
+		bitvec_set_uint(&bv, si13->prio_acc_thr, 3);
+		bitvec_set_uint(&bv, si13->net_ctrl_ord, 2);
+		append_gprs_cell_opt(&bv, &si13->cell_opts);
+		append_gprs_pwr_ctrl_pars(&bv, &si13->pwr_ctrl_pars);
+
 		/* 3GPP TS 44.018 Release 6 / 10.5.2.37b */
 		bitvec_set_bit(&bv, H);	/* added Release 99 */
 		/* claim our SGSN is compatible with Release 99, as EDGE and EGPRS
diff --git a/openbsc/src/libbsc/system_information.c b/openbsc/src/libbsc/system_information.c
index dcabbbd..2bc8769 100644
--- a/openbsc/src/libbsc/system_information.c
+++ b/openbsc/src/libbsc/system_information.c
@@ -1079,15 +1079,10 @@
 	},
 	.bcch_change_mark	= 1,
 	.si_change_field	= 0,
-	.pbcch_present		= 0,
-	{
-		.no_pbcch = {
-			.rac		= 0,	/* needs to be patched */
-			.spgc_ccch_sup 	= 0,
-			.net_ctrl_ord	= 0,
-			.prio_acc_thr	= 6,
-		},
-	},
+	.rac		= 0,	/* needs to be patched */
+	.spgc_ccch_sup 	= 0,
+	.net_ctrl_ord	= 0,
+	.prio_acc_thr	= 6,
 };
 
 static int generate_si13(enum osmo_sysinfo_type t, struct gsm_bts *bts)
@@ -1102,8 +1097,8 @@
 	si13->header.skip_indicator = 0;
 	si13->header.system_information = GSM48_MT_RR_SYSINFO_13;
 
-	si13_default.no_pbcch.rac = bts->gprs.rac;
-	si13_default.no_pbcch.net_ctrl_ord = bts->gprs.net_ctrl_ord;
+	si13_default.rac = bts->gprs.rac;
+	si13_default.net_ctrl_ord = bts->gprs.net_ctrl_ord;
 
 	si13_default.cell_opts.ctrl_ack_type_use_block =
 		bts->gprs.ctrl_ack_type_use_block;

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I319e71a4b0c682361529e9c21377398a826b934b
Gerrit-PatchSet: 3
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list