aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/bts.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2014-08-18 19:14:58 +0200
committerHarald Welte <laforge@gnumonks.org>2014-08-24 17:29:16 +0200
commit54cbbb14503f3a99c13a882e67433b66c06235b9 (patch)
tree7f2f43f9c053e706ed4204b7451e53a857d21c69 /src/common/bts.c
parent3d836bcf3097d1fb09fd98eca10558b4fdb636c4 (diff)
Have osmo-bts request OML routes for all its MOs at startuplaforge/oml-router
During OML link start-up, osmo-bts now requests a OML route for each of the managed objects that it currently implements. This is done via the 'ORC' (OML Router Control) protocol, which is encapsulated in the extended IPA_PROTO_OSMO multiplex. The responses (ACK/NACK) are not yet processed inside osmo-bts.
Diffstat (limited to 'src/common/bts.c')
-rw-r--r--src/common/bts.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/common/bts.c b/src/common/bts.c
index d9683d5f..5e6f80e0 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -199,25 +199,35 @@ int bts_link_estab(struct gsm_bts *bts)
LOGP(DSUM, LOGL_INFO, "Main link established, sending Status'.\n");
/* BTS and SITE MGR are EAABLED, BTS is DEPENDENCY */
+ orc_add_route_mo(&bts->site_mgr.mo);
oml_tx_state_changed(&bts->site_mgr.mo);
+ orc_add_route_mo(&bts->mo);
oml_tx_state_changed(&bts->mo);
/* those should all be in DEPENDENCY */
+ orc_add_route_mo(&bts->gprs.nse.mo);
oml_tx_state_changed(&bts->gprs.nse.mo);
+ orc_add_route_mo(&bts->gprs.cell.mo);
oml_tx_state_changed(&bts->gprs.cell.mo);
+ orc_add_route_mo(&bts->gprs.nsvc[0].mo);
oml_tx_state_changed(&bts->gprs.nsvc[0].mo);
+ orc_add_route_mo(&bts->gprs.nsvc[1].mo);
oml_tx_state_changed(&bts->gprs.nsvc[1].mo);
/* All other objects start off-line until the BTS Model code says otherwise */
for (i = 0; i < bts->num_trx; i++) {
struct gsm_bts_trx *trx = gsm_bts_trx_num(bts, i);
+ orc_add_route_mo(&trx->mo);
oml_tx_state_changed(&trx->mo);
+
+ orc_add_route_mo(&trx->bb_transc.mo);
oml_tx_state_changed(&trx->bb_transc.mo);
for (j = 0; j < ARRAY_SIZE(trx->ts); j++) {
struct gsm_bts_trx_ts *ts = &trx->ts[j];
+ orc_add_route_mo(&ts->mo);
oml_tx_state_changed(&ts->mo);
}
}