aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmo-bts
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2021-06-30 14:49:41 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2021-07-19 10:39:06 +0200
commit6611e7f3059d26794a59135637076fe59cf52dae (patch)
treeb9d79061767a5a4e3ff7fd53f75e1db3de55df6d /include/osmo-bts
parentace4e500edb702d628bb9103190aad6803b610e8 (diff)
allow to configure multiple oml remote-ip addresses
At the moment we can only configure a single BSC in the BTS configuration. This also means that if this single BSC fails for some reason the BTS has no alternate BSC to connect to. Lets extend the remote-ip parameter so that it can be used multiple times so that an operater can configure any number of BSCs that are tried one after another during BTS startup. Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Related: SYS#4971
Diffstat (limited to 'include/osmo-bts')
-rw-r--r--include/osmo-bts/abis.h9
-rw-r--r--include/osmo-bts/bts.h9
2 files changed, 15 insertions, 3 deletions
diff --git a/include/osmo-bts/abis.h b/include/osmo-bts/abis.h
index 62407ece..8963c3cb 100644
--- a/include/osmo-bts/abis.h
+++ b/include/osmo-bts/abis.h
@@ -16,9 +16,14 @@ enum {
LINK_STATE_CONNECT,
};
+enum abis_link_fsm_event {
+ ABIS_LINK_EV_SIGN_LINK_DOWN,
+ ABIS_LINK_EV_VTY_RM_ADDR,
+};
+
void abis_init(struct gsm_bts *bts);
-struct e1inp_line *abis_open(struct gsm_bts *bts, char *dst_host,
- char *model_name);
+int abis_open(struct gsm_bts *bts, char *model_name);
+
int abis_oml_sendmsg(struct msgb *msg);
diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h
index 6a61d015..6e0e47b1 100644
--- a/include/osmo-bts/bts.h
+++ b/include/osmo-bts/bts.h
@@ -133,6 +133,12 @@ struct gsm_bts_sm {
struct gsm_abis_mo mo;
};
+/* Struct that holds one OML-Address (Address of the BSC) */
+struct bsc_oml_host {
+ struct llist_head list;
+ char *addr;
+};
+
/* One BTS */
struct gsm_bts {
/* list header in net->bts_list */
@@ -295,7 +301,7 @@ struct gsm_bts {
} etws;
struct paging_state *paging_state;
- char *bsc_oml_host;
+ struct llist_head bsc_oml_hosts;
struct llist_head oml_queue;
unsigned int rtp_jitter_buf_ms;
bool rtp_jitter_adaptive;
@@ -363,6 +369,7 @@ struct gsm_bts {
} gsmtap;
struct osmo_fsm_inst *shutdown_fi; /* FSM instance to manage shutdown procedure during process exit */
+ struct osmo_fsm_inst *abis_link_fi; /* FSM instance to manage abis connection during process startup and link failure */
struct osmo_tdef *T_defs; /* Timer defines */
void *model_priv; /* Allocated by bts_model, contains model specific data pointer */