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
This commit is contained in:
Harald Welte 2017-12-14 14:34:16 +01:00
parent 581398afab
commit 00d64fd5ec
2 changed files with 3 additions and 0 deletions

View File

@ -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 = {

View File

@ -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);