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:
--
To view, visit
https://gerrit.osmocom.org/c/osmo-bts/+/32212
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I771ecc2f60873a3549e8a07a2e57c7948dfc993e
Gerrit-Change-Number: 32212
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange