aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2021-09-06 22:02:38 +0200
committerneels <nhofmeyr@sysmocom.de>2021-09-14 08:44:45 +0000
commit0559bd977572a2c14189db3dda2f0cac30448e26 (patch)
tree6620a74269b05782f859fc610c2e923d828b5c14 /include/osmocom/bsc
parent8367411772647ed7d10b57dee8acd706934740a0 (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')
-rw-r--r--include/osmocom/bsc/osmo_bsc_rf.h5
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