osaf/services/saf/amf/amfd/nodegroup.cc | 10 ++++++++--
osaf/services/saf/amf/amfd/util.cc | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
AMF allows creation of NG with invalid admin state.
Check is missing in CCB completed callback.
Patch adds the required check.
diff --git a/osaf/services/saf/amf/amfd/nodegroup.cc
b/osaf/services/saf/amf/amfd/nodegroup.cc
--- a/osaf/services/saf/amf/amfd/nodegroup.cc
+++ b/osaf/services/saf/amf/amfd/nodegroup.cc
@@ -105,6 +105,13 @@ static int is_config_valid(const SaNameT
delete tmp_ng;
return 0;
}
+ //Check if admin state is valid or not.
+ if (!avd_admin_state_is_valid(tmp_ng->saAmfNGAdminState)) {
+ LOG_ER("Incorrect saAmfNGAdminState:'%u' for
'%s'",tmp_ng->saAmfNGAdminState,
+ tmp_ng->name.value);
+ delete tmp_ng;
+ return 0;
+ }
delete tmp_ng;
return 1;
}
@@ -159,9 +166,8 @@ static AVD_AMF_NG *ng_create(SaNameT *dn
if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNGAdminState"),
attributes, 0, &ng->saAmfNGAdminState) !=
SA_AIS_OK) {
ng->saAmfNGAdminState = SA_AMF_ADMIN_UNLOCKED;
- LOG_NO("Setting saAmfNGAdminState to
:'%u'",ng->saAmfNGAdminState);
+ TRACE("Setting saAmfNGAdminState to
:'%u'",ng->saAmfNGAdminState);
}
- //TODO_NG: Add protection against shutting down state and lock-in state.
rc = 0;
done:
if (rc != 0) {
diff --git a/osaf/services/saf/amf/amfd/util.cc
b/osaf/services/saf/amf/amfd/util.cc
--- a/osaf/services/saf/amf/amfd/util.cc
+++ b/osaf/services/saf/amf/amfd/util.cc
@@ -1285,7 +1285,7 @@ uint32_t avd_snd_comp_validation_resp(AV
int avd_admin_state_is_valid(SaAmfAdminStateT state)
{
- return ((state >= SA_AMF_ADMIN_UNLOCKED) && (state <=
SA_AMF_ADMIN_SHUTTING_DOWN));
+ return ((state >= SA_AMF_ADMIN_UNLOCKED) && (state <
SA_AMF_ADMIN_SHUTTING_DOWN));
}
/*****************************************************************************
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel