aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-06-21 16:05:43 +0200
committerlaforge <laforge@osmocom.org>2020-06-21 16:07:15 +0000
commit0415a5c5fa15bbb86e882bd5b81d14e0d6993530 (patch)
treeec7e6d8a69dd3c97b5e86f0a2a8c20da7fd4d4c3
parent959c916def9a467ed89216648d253f9cee7f093f (diff)
Count RSL DELETE INDICATION received from BTS
If the BTS downlink CCCH (PCH + AGCH) queue is full, it sends us an RSL DELETE INDICATION. So far, osmo-bsc logs this as <0004> abis_rsl.c:2026 Unimplemented Abis RSL TRX message type 0x14 which is not very helpful. Instead, make the log message more descriptive and add a rate counter for monitoring. Change-Id: I9bd2966db90e39ccca442d6bc9abc91e9a9147d4 Closes: OS#3190
-rw-r--r--include/osmocom/bsc/gsm_data.h3
-rw-r--r--src/osmo-bsc/abis_rsl.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 987470649..8c1c54504 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1403,6 +1403,7 @@ enum bts_counter_id {
BTS_CTR_CHAN_ACT_NACK,
BTS_CTR_RSL_UNKNOWN,
BTS_CTR_RSL_IPA_NACK,
+ BTS_CTR_RSL_DELETE_IND,
BTS_CTR_MODE_MODIFY_NACK,
BTS_CTR_LCHAN_BORKEN_FROM_UNUSED,
BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK,
@@ -1458,6 +1459,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = {
[BTS_CTR_CHAN_ACT_NACK] = {"chan_act:nack", "Number of Channel Activations that the BTS NACKed"},
[BTS_CTR_RSL_UNKNOWN] = {"rsl:unknown", "Number of unknown/unsupported RSL messages received from BTS"},
[BTS_CTR_RSL_IPA_NACK] = {"rsl:ipa_nack", "Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS"},
+ [BTS_CTR_RSL_DELETE_IND] = {"rsl:delete_ind", "Number of RSL DELETE INDICATION (DL CCCH overload)"},
[BTS_CTR_MODE_MODIFY_NACK] = {"chan:mode_modify_nack", "Number of Channel Mode Modify NACKs received from BTS"},
/* lchan/TS BORKEN state counters */
@@ -1489,6 +1491,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = {
[BTS_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out"},
[BTS_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"},
[BTS_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"},
+
};
static const struct rate_ctr_group_desc bts_ctrg_desc = {
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 2fb1a22ef..8376f9816 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -1591,8 +1591,8 @@ static int abis_rsl_rx_cchan(struct msgb *msg)
break;
case RSL_MT_DELETE_IND:
/* CCCH overloaded, IMM_ASSIGN was dropped */
- LOGP(DRSL, LOGL_NOTICE, "Unimplemented Abis RSL CChan message "
- "type %s\n", rsl_msg_name(rslh->c.msg_type));
+ LOGPLCHAN(msg->lchan, DRSL, LOGL_NOTICE, "DELETE INDICATION (Downlink CCCH overload)\n");
+ rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_RSL_DELETE_IND]);
break;
case RSL_MT_CBCH_LOAD_IND:
/* current load on the CBCH */