[PATCH] openbsc[master]: SI13: check for incorrect configuration

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
Tue Aug 29 11:17:00 UTC 2017


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

SI13: check for incorrect configuration

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

Change-Id: I319e71a4b0c682361529e9c21377398a826b934b
Related: OS#2400
---
M openbsc/src/libbsc/rest_octets.c
1 file changed, 14 insertions(+), 33 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/34/3734/1

diff --git a/openbsc/src/libbsc/rest_octets.c b/openbsc/src/libbsc/rest_octets.c
index fdab70a..96c706d 100644
--- a/openbsc/src/libbsc/rest_octets.c
+++ b/openbsc/src/libbsc/rest_octets.c
@@ -798,6 +798,11 @@
 {
 	struct bitvec bv;
 
+	if (si13->pbcch_present) {
+		LOGP(DRR, LOGL_ERROR, "SI13: attempting to enable PBCCH which should never happen.\n");
+		return -EINVAL;
+	}
+
 	memset(&bv, 0, sizeof(bv));
 	bv.data = data;
 	bv.data_len = 20;
@@ -816,39 +821,15 @@
 			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 */
+		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);
+
 		/* 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

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I319e71a4b0c682361529e9c21377398a826b934b
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>



More information about the gerrit-log mailing list