Change in osmo-bsc[master]: IPA: log OML/RSL link drop reason

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
Thu Jan 3 19:10:58 UTC 2019


Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/12448 )

Change subject: IPA: log OML/RSL link drop reason
......................................................................

IPA: log OML/RSL link drop reason

There could multiple reason for OML or RSL link towards BTS to be
dropped: ctrl command, vty, new link etc. Introduce "reason" parameter
to corresponding functions and log it on link drop to simplify
troubleshooting issues with more complex setups.

Change-Id: I8c8d8132ba67c31e40dbecdfe2e09be08c744899
---
M include/osmocom/bsc/ipaccess.h
M src/osmo-bsc/bsc_ctrl_commands.c
M src/osmo-bsc/bsc_rf_ctrl.c
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/bts_ipaccess_nanobts.c
5 files changed, 17 insertions(+), 17 deletions(-)

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



diff --git a/include/osmocom/bsc/ipaccess.h b/include/osmocom/bsc/ipaccess.h
index 692e795..3853270 100644
--- a/include/osmocom/bsc/ipaccess.h
+++ b/include/osmocom/bsc/ipaccess.h
@@ -30,9 +30,9 @@
 	uint8_t data[0];
 } __attribute__((packed));
 
-void ipaccess_drop_oml(struct gsm_bts *bts);
+void ipaccess_drop_oml(struct gsm_bts *bts, const char *reason);
 void ipaccess_drop_oml_deferred(struct gsm_bts *bts);
-void ipaccess_drop_rsl(struct gsm_bts_trx *trx);
+void ipaccess_drop_rsl(struct gsm_bts_trx *trx, const char *reason);
 
 struct sdp_header_item {
 	struct sdp_header_entry header_entry;
diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c
index 171feaf..ca182d7 100644
--- a/src/osmo-bsc/bsc_ctrl_commands.c
+++ b/src/osmo-bsc/bsc_ctrl_commands.c
@@ -106,7 +106,7 @@
 			llist_for_each_entry_reverse(trx, &bts->trx_list, list)
 				abis_nm_ipaccess_restart(trx);
 		} else
-			ipaccess_drop_oml(bts);
+			ipaccess_drop_oml(bts, "ctrl net.apply-configuration");
 	}
 
 	cmd->reply = "Tried to drop the BTS";
@@ -189,7 +189,7 @@
 		return CTRL_CMD_ERROR;
 	}
 
-	ipaccess_drop_oml(bts);
+	ipaccess_drop_oml(bts, "ctrl bts.apply-configuration");
 	cmd->reply = "Tried to drop the BTS";
 	return CTRL_CMD_REPLY;
 }
diff --git a/src/osmo-bsc/bsc_rf_ctrl.c b/src/osmo-bsc/bsc_rf_ctrl.c
index 791abf6..0aa8e49 100644
--- a/src/osmo-bsc/bsc_rf_ctrl.c
+++ b/src/osmo-bsc/bsc_rf_ctrl.c
@@ -227,7 +227,7 @@
 			    trx->mo.nm_state.operational != NM_OPSTATE_ENABLED ||
 			    trx->mo.nm_state.administrative != NM_STATE_UNLOCKED) {
 				LOGP(DNM, LOGL_ERROR, "RF activation failed. Starting again.\n");
-				ipaccess_drop_oml(bts);
+				ipaccess_drop_oml(bts, "rf check");
 				break;
 			}
 		}
diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c
index 032305e..876273e 100644
--- a/src/osmo-bsc/bsc_vty.c
+++ b/src/osmo-bsc/bsc_vty.c
@@ -4433,11 +4433,11 @@
 
 	/* close all connections */
 	if (strcmp(argv[1], "oml") == 0) {
-		ipaccess_drop_oml(bts);
+		ipaccess_drop_oml(bts, "vty");
 	} else if (strcmp(argv[1], "rsl") == 0) {
 		/* close all rsl connections */
 		llist_for_each_entry(trx, &bts->trx_list, list) {
-			ipaccess_drop_rsl(trx);
+			ipaccess_drop_rsl(trx, "vty");
 		}
 	} else {
 		vty_out(vty, "Argument must be 'oml# or 'rsl'.%s", VTY_NEWLINE);
diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c
index cf81a22..56103b6 100644
--- a/src/osmo-bsc/bts_ipaccess_nanobts.c
+++ b/src/osmo-bsc/bts_ipaccess_nanobts.c
@@ -389,12 +389,12 @@
 }
 
 /* These are exported because they are used by the VTY interface. */
-void ipaccess_drop_rsl(struct gsm_bts_trx *trx)
+void ipaccess_drop_rsl(struct gsm_bts_trx *trx, const char *reason)
 {
 	if (!trx->rsl_link)
 		return;
 
-	LOGP(DLINP, LOGL_NOTICE, "(bts=%d,trx=%d) Dropping RSL link.\n", trx->bts->nr, trx->nr);
+	LOGP(DLINP, LOGL_NOTICE, "(bts=%d,trx=%d) Dropping RSL link: %s\n", trx->bts->nr, trx->nr, reason);
 	e1inp_sign_link_destroy(trx->rsl_link);
 	trx->rsl_link = NULL;
 
@@ -402,7 +402,7 @@
 		paging_flush_bts(trx->bts, NULL);
 }
 
-void ipaccess_drop_oml(struct gsm_bts *bts)
+void ipaccess_drop_oml(struct gsm_bts *bts, const char *reason)
 {
 	struct gsm_bts *rdep_bts;
 	struct gsm_bts_trx *trx;
@@ -413,14 +413,14 @@
 	if (!bts->oml_link)
 		return;
 
-	LOGP(DLINP, LOGL_NOTICE, "(bts=%d) Dropping OML link.\n", bts->nr);
+	LOGP(DLINP, LOGL_NOTICE, "(bts=%d) Dropping OML link: %s\n", bts->nr, reason);
 	e1inp_sign_link_destroy(bts->oml_link);
 	bts->oml_link = NULL;
 	bts->uptime = 0;
 
 	/* we have issues reconnecting RSL, drop everything. */
 	llist_for_each_entry(trx, &bts->trx_list, list)
-		ipaccess_drop_rsl(trx);
+		ipaccess_drop_rsl(trx, "OML link drop");
 
 	gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL);
 
@@ -438,7 +438,7 @@
 			continue;
 		LOGP(DLINP, LOGL_NOTICE, "Dropping BTS(%u) due BTS(%u).\n",
 			rdep_bts->nr, bts->nr);
-		ipaccess_drop_oml(rdep_bts);
+		ipaccess_drop_oml(rdep_bts, "Dependency link drop");
 	}
 }
 
@@ -447,7 +447,7 @@
 static void ipaccess_drop_oml_deferred_cb(void *data)
 {
 	struct gsm_bts *bts = (struct gsm_bts *) data;
-	ipaccess_drop_oml(bts);
+	ipaccess_drop_oml(bts, "Deferred link drop");
 }
 /*! Deferr \ref ipacces_drop_oml through a timer to avoid dropping structures in
  *  current code context. This may be needed if we want to destroy the OML link
@@ -537,7 +537,7 @@
 	switch(type) {
 	case E1INP_SIGN_OML:
 		/* remove old OML signal link for this BTS. */
-		ipaccess_drop_oml(bts);
+		ipaccess_drop_oml(bts, "new OML link");
 
 		if (!bts_depend_check(bts)) {
 			LOGP(DLINP, LOGL_NOTICE,
@@ -568,7 +568,7 @@
 			return NULL;
 
 		/* remove old RSL link for this TRX. */
-		ipaccess_drop_rsl(trx);
+		ipaccess_drop_rsl(trx, "new RSL link");
 
 		/* set new RSL link for this TRX. */
 		line = bts->oml_link->ts->line;
@@ -609,7 +609,7 @@
 			osmo_timer_del(&link->trx->rsl_connect_timeout);
 	}
 	if (bts != NULL)
-		ipaccess_drop_oml(bts);
+		ipaccess_drop_oml(bts, "link down");
 }
 
 /* This function is called if we receive one OML/RSL message. */

-- 
To view, visit https://gerrit.osmocom.org/12448
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I8c8d8132ba67c31e40dbecdfe2e09be08c744899
Gerrit-Change-Number: 12448
Gerrit-PatchSet: 2
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Max <msuraev at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190103/e0c9be67/attachment.htm>


More information about the gerrit-log mailing list