diff options
author | Harald Welte <laforge@osmocom.org> | 2020-06-21 16:05:43 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2020-06-21 16:07:15 +0000 |
commit | 0415a5c5fa15bbb86e882bd5b81d14e0d6993530 (patch) | |
tree | ec7e6d8a69dd3c97b5e86f0a2a8c20da7fd4d4c3 | |
parent | 959c916def9a467ed89216648d253f9cee7f093f (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.h | 3 | ||||
-rw-r--r-- | src/osmo-bsc/abis_rsl.c | 4 |
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 */ |