From 00d64fd5ec3e5672eef52bbc256f60c363a02f97 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 14 Dec 2017 14:34:16 +0100 Subject: Add new "chan:mode_modify_nack" counter to count RSL MODE MODIFY NACK Those NACKs shouldn't happen in production, and if they do, you probably want to have a more persistent figure than a line in the log file about it. Having counters allows the user to monitor this efficiently. Change-Id: Ic82c6baaf4cb88d07bc5cdc200f8279cf130f396 --- include/osmocom/bsc/gsm_data.h | 2 ++ src/libbsc/abis_rsl.c | 1 + 2 files changed, 3 insertions(+) diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 7cd753956..cbb809b33 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -205,6 +205,7 @@ enum { BTS_CTR_CHAN_ACT_NACK, BTS_CTR_RSL_UNKNOWN, BTS_CTR_RSL_IPA_NACK, + BTS_CTR_MODE_MODIFY_NACK, }; static const struct rate_ctr_desc bts_ctr_description[] = { @@ -228,6 +229,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_MODE_MODIFY_NACK] = {"chan:mode_modify_nack", "Number of Channel Mode Modify NACKs received from BTS"}, }; static const struct rate_ctr_group_desc bts_ctrg_desc = { diff --git a/src/libbsc/abis_rsl.c b/src/libbsc/abis_rsl.c index c9d0a208e..ef7a6fbd5 100644 --- a/src/libbsc/abis_rsl.c +++ b/src/libbsc/abis_rsl.c @@ -1642,6 +1642,7 @@ static int abis_rsl_rx_dchan(struct msgb *msg) break; case RSL_MT_MODE_MODIFY_NACK: LOGP(DRSL, LOGL_ERROR, "%s CHANNEL MODE MODIFY NACK\n", ts_name); + rate_ctr_inc(&sign_link->trx->bts->bts_ctrs->ctr[BTS_CTR_MODE_MODIFY_NACK]); break; case RSL_MT_IPAC_PDCH_ACT_ACK: DEBUGP(DRSL, "%s IPAC PDCH ACT ACK\n", ts_name); -- cgit v1.2.3