pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/32212 )
Change subject: NM: NACK received OML OPSTART if no attributes were set beforehand ......................................................................
NM: NACK received OML OPSTART if no attributes were set beforehand
Related: OS#5992 Change-Id: I771ecc2f60873a3549e8a07a2e57c7948dfc993e --- M src/common/nm_bb_transc_fsm.c M src/common/nm_bts_fsm.c M src/common/nm_bts_sm_fsm.c M src/common/nm_channel_fsm.c M src/common/nm_radio_carrier_fsm.c 5 files changed, 40 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/32212/1
diff --git a/src/common/nm_bb_transc_fsm.c b/src/common/nm_bb_transc_fsm.c index 4853a94..bec029e 100644 --- a/src/common/nm_bb_transc_fsm.c +++ b/src/common/nm_bb_transc_fsm.c @@ -135,6 +135,13 @@ rc); break; case NM_EV_RX_OPSTART: +#if 0 + /* Disabled because osmo-bsc doesn't send SetAttr on SITE_MGR object */ + if (!bb_transc->mo.setattr_success) { + oml_mo_opstart_nack(&bb_transc->mo, NM_NACK_CANT_PERFORM); + return; + } +#endif bts_model_opstart(trx->bts, &bb_transc->mo, bb_transc); break; case NM_EV_OPSTART_ACK: diff --git a/src/common/nm_bts_fsm.c b/src/common/nm_bts_fsm.c index 3056404..3126bde 100644 --- a/src/common/nm_bts_fsm.c +++ b/src/common/nm_bts_fsm.c @@ -123,6 +123,10 @@ rc); break; case NM_EV_RX_OPSTART: + if (!bts->mo.setattr_success) { + oml_mo_opstart_nack(&bts->mo, NM_NACK_CANT_PERFORM); + return; + } bts_model_opstart(bts, &bts->mo, bts); break; case NM_EV_OPSTART_ACK: diff --git a/src/common/nm_bts_sm_fsm.c b/src/common/nm_bts_sm_fsm.c index 7b3e38d..42649b5 100644 --- a/src/common/nm_bts_sm_fsm.c +++ b/src/common/nm_bts_sm_fsm.c @@ -99,6 +99,13 @@ rc); break; case NM_EV_RX_OPSTART: +#if 0 + /* Disabled because osmo-bsc doesn't send SetAttr on SITE_MGR object */ + if (!site_mgr->mo.setattr_success) { + oml_mo_opstart_nack(&site_mgr->mo, NM_NACK_CANT_PERFORM); + return; + } +#endif bts_model_opstart(NULL, &site_mgr->mo, site_mgr); break; case NM_EV_OPSTART_ACK: diff --git a/src/common/nm_channel_fsm.c b/src/common/nm_channel_fsm.c index 057a761..573e9e0 100644 --- a/src/common/nm_channel_fsm.c +++ b/src/common/nm_channel_fsm.c @@ -109,6 +109,10 @@ case NM_EV_RX_OPSTART: LOGPFSML(fi, LOGL_NOTICE, "BSC trying to activate TS while still in avail=dependency. " "Allowing it to stay backward-compatible with older osmo-bts versions, but BSC is wrong.\n"); + if (!ts->mo.setattr_success) { + oml_mo_opstart_nack(&ts->mo, NM_NACK_CANT_PERFORM); + return; + } bts_model_opstart(ts->trx->bts, &ts->mo, ts); break; case NM_EV_OPSTART_ACK: @@ -158,6 +162,10 @@ rc); break; case NM_EV_RX_OPSTART: + if (!ts->mo.setattr_success) { + oml_mo_opstart_nack(&ts->mo, NM_NACK_CANT_PERFORM); + return; + } bts_model_opstart(ts->trx->bts, &ts->mo, ts); break; case NM_EV_OPSTART_ACK: diff --git a/src/common/nm_radio_carrier_fsm.c b/src/common/nm_radio_carrier_fsm.c index c3a4cb5..5963b57 100644 --- a/src/common/nm_radio_carrier_fsm.c +++ b/src/common/nm_radio_carrier_fsm.c @@ -116,6 +116,10 @@ rc); break; case NM_EV_RX_OPSTART: + if (!trx->mo.setattr_success) { + oml_mo_opstart_nack(&trx->mo, NM_NACK_CANT_PERFORM); + return; + } bts_model_opstart(trx->bts, &trx->mo, trx); break; case NM_EV_OPSTART_ACK: