Change in osmo-bts[master]: Avoid sending Load Indications when BTS is not RSL-connected

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
Wed Sep 22 16:40:44 UTC 2021


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25543 )


Change subject: Avoid sending Load Indications when BTS is not RSL-connected
......................................................................

Avoid sending Load Indications when BTS is not RSL-connected

Change-Id: I97e8dd7dd58ee2ec90c3a38d45dfd944db44c412
---
M include/osmo-bts/bts.h
M src/common/abis.c
M src/common/bts.c
M src/common/bts_trx.c
M src/common/load_indication.c
M src/common/oml.c
6 files changed, 16 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/43/25543/1

diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h
index a601423..fab7f96 100644
--- a/include/osmo-bts/bts.h
+++ b/include/osmo-bts/bts.h
@@ -409,6 +409,8 @@
 int lchan_init_lapdm(struct gsm_lchan *lchan);
 
 void load_timer_start(struct gsm_bts *bts);
+void load_timer_stop(struct gsm_bts *bts);
+bool load_timer_is_running(const struct gsm_bts *bts);
 void bts_update_status(enum bts_global_status which, int on);
 
 struct gsm_time *get_time(struct gsm_bts *bts);
diff --git a/src/common/abis.c b/src/common/abis.c
index 1b489c1..3451b2e 100644
--- a/src/common/abis.c
+++ b/src/common/abis.c
@@ -213,6 +213,8 @@
 		if (trx->rsl_link) {
 			e1inp_sign_link_destroy(trx->rsl_link);
 			trx->rsl_link = NULL;
+			if (trx == trx->bts->c0)
+				load_timer_stop(trx->bts);
 		}
 		/* Note: Here we could send NM_EV_RSL_DOWN to each
 		 * trx->(bb_transc.)mo.fi, but we are starting shutdown of the
diff --git a/src/common/bts.c b/src/common/bts.c
index 67e6736..191c331 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -345,7 +345,6 @@
 
 	/* configurable via OML */
 	bts->load.ccch.load_ind_period = 112;
-	load_timer_start(bts);
 	bts->rtp_jitter_buf_ms = 100;
 	bts->max_ta = 63;
 	bts->ny1 = 4;
diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c
index ed742d5..127e797 100644
--- a/src/common/bts_trx.c
+++ b/src/common/bts_trx.c
@@ -217,6 +217,9 @@
 		oml_tx_failure_event_rep(&trx->bb_transc.mo, NM_SEVER_MAJOR, OSMO_EVT_MAJ_RSL_FAIL,
 					 "Failed to establish RSL link (%d)", rc);
 
+	if (trx == trx->bts->c0)
+		load_timer_start(trx->bts);
+
 	return 0;
 }
 
diff --git a/src/common/load_indication.c b/src/common/load_indication.c
index c9b2645..69af9c6 100644
--- a/src/common/load_indication.c
+++ b/src/common/load_indication.c
@@ -94,3 +94,8 @@
 {
 	osmo_timer_del(&bts->load.ccch.timer);
 }
+
+bool load_timer_is_running(const struct gsm_bts *bts)
+{
+	return osmo_timer_pending(&bts->load.ccch.timer);
+}
diff --git a/src/common/oml.c b/src/common/oml.c
index d2cf877..f841853 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -670,7 +670,10 @@
 	/* 9.4.11 CCCH Load Indication Period */
 	if (TLVP_PRES_LEN(&tp, NM_ATT_CCCH_L_I_P, 1)) {
 		bts->load.ccch.load_ind_period = *TLVP_VAL(&tp, NM_ATT_CCCH_L_I_P);
-		load_timer_start(bts);
+		if (load_timer_is_running(bts)) {
+			load_timer_stop(bts);
+			load_timer_start(bts);
+		}
 	}
 
 	/* 9.4.44 RACH Busy Threshold */

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25543
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I97e8dd7dd58ee2ec90c3a38d45dfd944db44c412
Gerrit-Change-Number: 25543
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210922/2e375ffd/attachment.htm>


More information about the gerrit-log mailing list