diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-10-02 17:06:45 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2020-10-20 13:45:57 +0000 |
commit | 88fe4b079d1b10c0cfd35c49cad1484bc91be308 (patch) | |
tree | 1aa5aa15bb5083ff30aa915bca3c0db7d853eb4b /src/osmo-bts-oc2g | |
parent | 6d117891c93da969e0ff8b293bef97c699490f2b (diff) |
Introduce NM BTS Site Manager FSM
This fixes old behavior mimicing broken behavior in nanoBTS (according to TS 12.21)
where BTS Site Mgr NM object was announced as Enabled despite no OPSTART
was sent by the BSC.
With this new FSM, BTS SiteManager will be announced as Disabled Offline
during OML startup conversation, instead of Enabled.
The new osmo-bsc OML management FSMs use this change in behavior to find
out whether it should use the old broken management states (without
Offline state, as per nanoBTS) or use the new state transitions (which
allow fixing several race conditions).
Change-Id: Iab2d17c45c9642860cd2d5d523c1baae24502243
Diffstat (limited to 'src/osmo-bts-oc2g')
-rw-r--r-- | src/osmo-bts-oc2g/oml.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 695850c8..8dda1e9a 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -42,6 +42,7 @@ #include <osmo-bts/phy_link.h> #include <osmo-bts/handover.h> #include <osmo-bts/l1sap.h> +#include <osmo-bts/nm_common_fsm.h> #include "l1_if.h" #include "oc2gbts.h" @@ -1896,6 +1897,9 @@ int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo, int rc; switch (mo->obj_class) { + case NM_OC_SITE_MANAGER: + rc = osmo_fsm_inst_dispatch(bts->site_mgr.mo.fi, NM_EV_OPSTART_ACK, NULL); + break; case NM_OC_RADIO_CARRIER: rc = trx_init(obj); break; @@ -1903,7 +1907,6 @@ int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo, rc = ts_opstart(obj); break; case NM_OC_BTS: - case NM_OC_SITE_MANAGER: case NM_OC_BASEB_TRANSC: case NM_OC_GPRS_NSE: case NM_OC_GPRS_CELL: |