diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2021-09-06 22:02:38 +0200 |
---|---|---|
committer | neels <nhofmeyr@sysmocom.de> | 2021-09-14 08:44:45 +0000 |
commit | 0559bd977572a2c14189db3dda2f0cac30448e26 (patch) | |
tree | 6620a74269b05782f859fc610c2e923d828b5c14 /include/osmocom/bsc/osmo_bsc_rf.h | |
parent | 8367411772647ed7d10b57dee8acd706934740a0 (diff) |
add CTRL 'rf_states' and 'bts.N.rf_states'
These commands return a listing of OML state, RF policy as well as RSL
connection status for each TRX in the form:
<bts_nr>,<trx_nr>,<opstate>,<adminstate>,<rf_policy>,<rsl_status>;<bts_nr>,<trx_nr>,...
For example, the root node 'rf_states' may return:
0,0,operational,unlocked,on,rsl-up;1,0,operational,unlocked,on,rsl-down;2,0,inoperational,locked,on,rsl-down;
A 'bts.N.rf_states' returns the same form of string, but lists only the
TRX for the given BTS nr.
Note, there is already a CTRL command 'bts.N.rf_state' (singular
'rf_state', not plural 'rf_states'), which only reflects the overall
status of all TRX combined. This new command has per-TRX resolution.
The rf-policy is so far always looked up in the global gsm_network flag,
as does the old 'rf_state' command; see osmo_bsc_rf_get_policy_by_bts()
which does not depend on the specific BTS at all. This may be worth
revisiting in the future, so I am already including the rf-policy in the
rf_state string for each TRX, even though it is globally identical.
Related: SYS#5542
Related: I01e6f391a5e71b0606c42be9b57f8a1687d59bcb (osmo-ttcn3-hacks)
Change-Id: I14fa2678fc8f2c11a879c5e9615ac552782c5b7e
Diffstat (limited to 'include/osmocom/bsc/osmo_bsc_rf.h')
-rw-r--r-- | include/osmocom/bsc/osmo_bsc_rf.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/osmocom/bsc/osmo_bsc_rf.h b/include/osmocom/bsc/osmo_bsc_rf.h index 56ac980ca..f88ccbf6a 100644 --- a/include/osmocom/bsc/osmo_bsc_rf.h +++ b/include/osmocom/bsc/osmo_bsc_rf.h @@ -60,7 +60,12 @@ const char *osmo_bsc_rf_get_policy_name(enum osmo_bsc_rf_policy policy); enum osmo_bsc_rf_opstate osmo_bsc_rf_get_opstate_by_bts(struct gsm_bts *bts); enum osmo_bsc_rf_adminstate osmo_bsc_rf_get_adminstate_by_bts(struct gsm_bts *bts); enum osmo_bsc_rf_policy osmo_bsc_rf_get_policy_by_bts(struct gsm_bts *bts); +enum osmo_bsc_rf_opstate osmo_bsc_rf_get_opstate_by_trx(struct gsm_bts_trx *trx); +enum osmo_bsc_rf_adminstate osmo_bsc_rf_get_adminstate_by_trx(struct gsm_bts_trx *trx); struct osmo_bsc_rf *osmo_bsc_rf_create(const char *path, struct gsm_network *net); void osmo_bsc_rf_schedule_lock(struct osmo_bsc_rf *rf, char cmd); +char *bsc_rf_states_of_bts_c(void *ctx, struct gsm_bts *bts); +char *bsc_rf_states_c(void *ctx); + #endif |