diff options
author | Max <msuraev@sysmocom.de> | 2017-11-29 12:18:02 +0100 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2017-11-29 12:18:02 +0100 |
commit | aa954cd10fc5235f334b389cdeeec93e8e0452de (patch) | |
tree | 99c9fe63168e6df5d88aebf59b7721a00ebdc97d /src/libbsc/abis_nm.c | |
parent | e8dda5f296106ff6b79875cc24f25cf23e928c6b (diff) |
OML: consider administrative state when reporting
Report state as degraded if BTS or any of its TRX are administratively
locked.
Change-Id: Ic9ee998d972ca870ce5d039c3ed95edb6ba8b36f
Related: OS#2486
Diffstat (limited to 'src/libbsc/abis_nm.c')
-rw-r--r-- | src/libbsc/abis_nm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libbsc/abis_nm.c b/src/libbsc/abis_nm.c index b7391a168..295cefde2 100644 --- a/src/libbsc/abis_nm.c +++ b/src/libbsc/abis_nm.c @@ -683,13 +683,18 @@ static int abis_nm_rx_lmt_event(struct msgb *mb) return 0; } -bool all_trx_rsl_connected(const struct gsm_bts *bts) +bool all_trx_rsl_connected_unlocked(const struct gsm_bts *bts) { const struct gsm_bts_trx *trx; + if (bts->mo.nm_state.administrative == NM_STATE_LOCKED) + return false; + llist_for_each_entry(trx, &bts->trx_list, list) { if (!trx->rsl_link) return false; + if (trx->mo.nm_state.administrative == NM_STATE_LOCKED) + return false; } return true; |