pespin has submitted this change. (
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(-)
Approvals:
laforge: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
osmith: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/src/common/nm_bb_transc_fsm.c b/src/common/nm_bb_transc_fsm.c
index 86151ae..e51a151 100644
--- a/src/common/nm_bb_transc_fsm.c
+++ b/src/common/nm_bb_transc_fsm.c
@@ -133,6 +133,13 @@
oml_fom_ack_nack_copy_msg(setattr_data->msg, rc);
break;
case NM_EV_RX_OPSTART:
+#if 0
+ /* Disabled because osmo-bsc doesn't send SetAttr on BB_TRANSC 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 a4879b5..13a4727 100644
--- a/src/common/nm_bts_fsm.c
+++ b/src/common/nm_bts_fsm.c
@@ -121,6 +121,10 @@
oml_fom_ack_nack_copy_msg(setattr_data->msg, 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 7e3d7d4..4767f9c 100644
--- a/src/common/nm_bts_sm_fsm.c
+++ b/src/common/nm_bts_sm_fsm.c
@@ -97,6 +97,13 @@
oml_fom_ack_nack_copy_msg(setattr_data->msg, 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 76c860d..252df83 100644
--- a/src/common/nm_channel_fsm.c
+++ b/src/common/nm_channel_fsm.c
@@ -107,6 +107,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:
@@ -154,6 +158,10 @@
oml_fom_ack_nack_copy_msg(setattr_data->msg, 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 f76f522..0596a9c 100644
--- a/src/common/nm_radio_carrier_fsm.c
+++ b/src/common/nm_radio_carrier_fsm.c
@@ -114,6 +114,10 @@
oml_fom_ack_nack_copy_msg(setattr_data->msg, 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: 5
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: merged