osaf/services/saf/amf/amfd/comp.cc           |   4 ++--
 osaf/services/saf/amf/amfd/include/su.h      |   5 +----
 osaf/services/saf/amf/amfd/node.cc           |   6 +++---
 osaf/services/saf/amf/amfd/sg.cc             |   4 ++--
 osaf/services/saf/amf/amfd/sg_2n_fsm.cc      |  12 ++++++------
 osaf/services/saf/amf/amfd/sg_nored_fsm.cc   |  16 ++++++++--------
 osaf/services/saf/amf/amfd/sg_npm_fsm.cc     |  14 +++++++-------
 osaf/services/saf/amf/amfd/sg_nway_fsm.cc    |  19 +++++++++----------
 osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc |  16 ++++++++--------
 osaf/services/saf/amf/amfd/sgproc.cc         |  16 ++++++----------
 osaf/services/saf/amf/amfd/su.cc             |  14 +++++++++++---
 osaf/services/saf/amf/amfd/util.cc           |  25 +++++++++----------------
 12 files changed, 72 insertions(+), 79 deletions(-)


diff --git a/osaf/services/saf/amf/amfd/comp.cc 
b/osaf/services/saf/amf/amfd/comp.cc
--- a/osaf/services/saf/amf/amfd/comp.cc
+++ b/osaf/services/saf/amf/amfd/comp.cc
@@ -1126,7 +1126,7 @@ static void comp_ccb_apply_modify_hdlr(s
        param.name = comp->comp_info.name;
        comp_type = avd_comptype_get(&comp->saAmfCompType);
 
-       m_AVD_GET_SU_NODE_PTR(avd_cb, comp->su, su_node_ptr);
+       su_node_ptr = comp->su->get_node_ptr();
 
        if ((su_node_ptr->node_state == AVD_AVND_STATE_PRESENT) ||
            (su_node_ptr->node_state == AVD_AVND_STATE_NO_CONFIG) ||
@@ -1567,7 +1567,7 @@ static void comp_ccb_apply_delete_hdlr(s
        /* send a message to the AVND deleting the
         * component.
         */
-       m_AVD_GET_SU_NODE_PTR(avd_cb, comp->su, su_node_ptr);
+       su_node_ptr = comp->su->get_node_ptr();
        if ((su_node_ptr->node_state == AVD_AVND_STATE_PRESENT) ||
            (su_node_ptr->node_state == AVD_AVND_STATE_NO_CONFIG) ||
            (su_node_ptr->node_state == AVD_AVND_STATE_NCS_INIT)) {
diff --git a/osaf/services/saf/amf/amfd/include/su.h 
b/osaf/services/saf/amf/amfd/include/su.h
--- a/osaf/services/saf/amf/amfd/include/su.h
+++ b/osaf/services/saf/amf/amfd/include/su.h
@@ -115,6 +115,7 @@ class AVD_SU {
        void set_all_susis_assigned(void);
        void set_term_state(bool state);
        void set_su_switch(SaToggleState state);
+       struct avd_avnd_tag *get_node_ptr(void);
 
  private:
        void send_attribute_update(AVSV_AMF_SU_ATTR_ID attrib_id);
@@ -140,10 +141,6 @@ typedef struct {
 (i_su->saAmfSUOperState == SA_AMF_OPERATIONAL_ENABLED)\
 )
 
-#define m_AVD_GET_SU_NODE_PTR(avd_cb,i_su,su_node_ptr)  \
- if(true == i_su->su_is_external) su_node_ptr = 
avd_cb->ext_comp_info.local_avnd_node; \
- else su_node_ptr = i_su->su_on_node;
-
 /**
  * Get SUs from IMM and create internal objects
  * 
diff --git a/osaf/services/saf/amf/amfd/node.cc 
b/osaf/services/saf/amf/amfd/node.cc
--- a/osaf/services/saf/amf/amfd/node.cc
+++ b/osaf/services/saf/amf/amfd/node.cc
@@ -877,7 +877,7 @@ void avd_node_admin_lock_unlock_shutdown
 
                su = node->list_of_su;
                while (su != NULL) {
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (m_AVD_APP_SU_IS_INSVC(su, su_node_ptr) &&
                                ((su->saAmfSUPreInstantiable) ?
@@ -920,8 +920,8 @@ void avd_node_admin_lock_unlock_shutdown
                                 */
                                su_sg = su->sg_of_su->list_of_su;
                                while (su_sg != NULL) {
-                                       m_AVD_GET_SU_NODE_PTR(cb, su, 
su_node_ptr);
-                                       m_AVD_GET_SU_NODE_PTR(cb, su_sg, 
su_sg_node_ptr);
+                                       su_node_ptr = su->get_node_ptr();
+                                       su_sg_node_ptr = su_sg->get_node_ptr();
 
                                        if ((su != su_sg) &&
                                            (su_node_ptr == su_sg_node_ptr) &&
diff --git a/osaf/services/saf/amf/amfd/sg.cc b/osaf/services/saf/amf/amfd/sg.cc
--- a/osaf/services/saf/amf/amfd/sg.cc
+++ b/osaf/services/saf/amf/amfd/sg.cc
@@ -752,7 +752,7 @@ static void sg_nd_attribute_update(AVD_S
        /* This value has to be updated on each SU on this SG */
        su = sg->list_of_su;
        while (su) {
-               m_AVD_GET_SU_NODE_PTR(avd_cb, su, su_node_ptr);
+               su_node_ptr = su->get_node_ptr();
 
                if ((su_node_ptr) && (su_node_ptr->node_state == 
AVD_AVND_STATE_PRESENT)) {
                        param.name = su->name;
@@ -1152,7 +1152,7 @@ static void sg_admin_op_cb(SaImmOiHandle
 
        /* Avoid multiple admin operations on other SUs belonging to the same 
SG. */
        for (su = sg->list_of_su; su != NULL; su = su->sg_list_su_next) {
-               m_AVD_GET_SU_NODE_PTR(avd_cb, su, node);
+               node = su->get_node_ptr();
                if (su->pend_cbk.invocation != 0) {
                        report_admin_op_error(immOiHandle, invocation, 
SA_AIS_ERR_TRY_AGAIN, NULL,
                                        "Admin operation'%u' is already going 
on su'%s' belonging to the same SG",
diff --git a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
@@ -932,7 +932,7 @@ static uint32_t avd_sg_2n_su_fault_su_op
                                }
                        }
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -1935,7 +1935,7 @@ static uint32_t avd_sg_2n_susi_sucss_su_
                (su->sg_of_su->su_oper_list.su == su)) {
                /* quiesced all and SU is in the operation list */
 
-               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+               su_node_ptr = su->get_node_ptr();
 
                avd_sg_2n_act_susi(cb, su->sg_of_su, &s_susi);
                if (susi != NULL) {
@@ -2223,7 +2223,7 @@ static uint32_t avd_sg_2n_susi_sucss_su_
                                /* realign the SG. */
                        }
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        /* the admin state of the SU is shutdown change it to 
lock. */
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -2731,7 +2731,7 @@ uint32_t avd_sg_2n_susi_fail_func(AVD_CL
                                goto done;
                        }
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        /* the admin state of the SU is shutdown change it to 
lock. */
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -3046,7 +3046,7 @@ static void avd_sg_2n_node_fail_su_oper(
                                        avd_sidep_sg_take_action(su->sg_of_su); 
                        }       /* else (s_susi != AVD_SU_SI_REL_NULL) */
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
                        /* the admin state of the SU is shutdown change it to 
lock. */
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -3072,7 +3072,7 @@ static void avd_sg_2n_node_fail_su_oper(
                        avd_sg_su_oper_list_del(cb, su, false);
                        su->delete_all_susis();
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        /* the admin state of the SU is shutdown change it to 
lock. */
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
diff --git a/osaf/services/saf/amf/amfd/sg_nored_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_nored_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_nored_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_nored_fsm.cc
@@ -232,7 +232,7 @@ uint32_t avd_sg_nored_su_fault_func(AVD_
                                        if (avd_susi_mod_send(su->list_of_susi, 
SA_AMF_HA_QUIESCED) != NCSCC_RC_SUCCESS)
                                                return NCSCC_RC_FAILURE;
 
-                                       m_AVD_GET_SU_NODE_PTR(cb, su, 
su_node_ptr);
+                                       su_node_ptr = su->get_node_ptr();
                                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                                
su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                                        } else if 
(su_node_ptr->saAmfNodeAdminState == SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -271,7 +271,7 @@ uint32_t avd_sg_nored_su_fault_func(AVD_
                                if (avd_susi_mod_send(su->list_of_susi, 
SA_AMF_HA_QUIESCED) != NCSCC_RC_SUCCESS)
                                        return NCSCC_RC_FAILURE;
 
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                        
su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                                } else if (su_node_ptr->saAmfNodeAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -503,7 +503,7 @@ uint32_t avd_sg_nored_susi_sucss_func(AV
                        if (avd_susi_del_send(su->list_of_susi) != 
NCSCC_RC_SUCCESS)
                                return NCSCC_RC_FAILURE;
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (su->sg_of_su->admin_si == su->list_of_susi->si) {
                                
avd_si_admin_state_set((su->sg_of_su->admin_si), SA_AMF_ADMIN_LOCKED);
@@ -593,7 +593,7 @@ uint32_t avd_sg_nored_susi_sucss_func(AV
 
                        m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -779,7 +779,7 @@ uint32_t avd_sg_nored_susi_fail_func(AVD
                        if (avd_susi_del_send(su->list_of_susi) == 
NCSCC_RC_FAILURE)
                                return NCSCC_RC_FAILURE;
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (su->sg_of_su->admin_si == su->list_of_susi->si) {
                                
avd_si_admin_state_set((su->sg_of_su->admin_si), SA_AMF_ADMIN_LOCKED);
@@ -817,7 +817,7 @@ uint32_t avd_sg_nored_susi_fail_func(AVD
                        if (avd_susi_del_send(su->list_of_susi) == 
NCSCC_RC_FAILURE)
                                return NCSCC_RC_FAILURE;
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                        } else if (su_node_ptr->saAmfNodeAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -1022,7 +1022,7 @@ void avd_sg_nored_node_fail_func(AVD_CL_
 
                        avd_sg_su_oper_list_del(cb, su, false);
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -1064,7 +1064,7 @@ void avd_sg_nored_node_fail_func(AVD_CL_
                if (su->sg_of_su->su_oper_list.su == su) {
                        avd_sg_su_oper_list_del(cb, su, false);
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
diff --git a/osaf/services/saf/amf/amfd/sg_npm_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_npm_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_npm_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_npm_fsm.cc
@@ -985,7 +985,7 @@ static uint32_t avd_sg_npm_su_fault_su_o
                                return NCSCC_RC_FAILURE;
                        }
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -1305,7 +1305,7 @@ static uint32_t avd_sg_npm_su_fault_sg_r
                                        return NCSCC_RC_FAILURE;
                                }
 
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
 
                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                        
su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -1712,7 +1712,7 @@ static uint32_t avd_sg_npm_susi_sucss_sg
                                /* Send D2N-INFO_SU_SI_ASSIGN message remove 
all to this SU. If
                                 * the SUs admin state is shutdown change it to 
LOCK.
                                 */
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
 
                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                        
su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -2562,7 +2562,7 @@ static uint32_t avd_sg_npm_susi_sucss_su
                                /* Send D2N-INFO_SU_SI_ASSIGN message remove 
all to this SU. If
                                * the SUs admin state is shutdown change it to 
LOCK.
                                */
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
 
                                /* If the admin state of the SU is shutdown 
change it to lock*/
                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -3047,7 +3047,7 @@ uint32_t avd_sg_npm_susi_fail_func(AVD_C
                                return NCSCC_RC_FAILURE;
                        }
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -3664,7 +3664,7 @@ static void avd_sg_npm_node_fail_sg_relg
                                /* remove the SU from the operation list. */
                                avd_sg_su_oper_list_del(cb, su, false);
 
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
 
                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                        
su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -3806,7 +3806,7 @@ static void avd_sg_npm_node_fail_su_oper
                /* remove the SU from the operation list. */
                avd_sg_su_oper_list_del(cb, su, false);
 
-               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+               su_node_ptr = su->get_node_ptr();
                if (su->saAmfSUAdminState == SA_AMF_ADMIN_SHUTTING_DOWN) {
                        su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                } else if (su_node_ptr->saAmfNodeAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
diff --git a/osaf/services/saf/amf/amfd/sg_nway_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
@@ -1809,7 +1809,7 @@ uint32_t avd_sg_nway_su_fault_sg_realign
                        }       
 
                        /* => su is present in the su-oper list */
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        if ((SA_AMF_ADMIN_SHUTTING_DOWN == 
su->saAmfSUAdminState) ||
                            (SA_AMF_ADMIN_SHUTTING_DOWN == 
su_node_ptr->saAmfNodeAdminState)) {
@@ -1962,8 +1962,7 @@ uint32_t avd_sg_nway_su_fault_su_oper(AV
        TRACE_ENTER2("SU '%s'",su->name.value);
 
        if (su->sg_of_su->su_oper_list.su == su) {
-
-               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+               su_node_ptr = su->get_node_ptr();
 
                /* => su-lock/shutdown is followed by su-disable event */
                if ((SA_AMF_ADMIN_SHUTTING_DOWN == su->saAmfSUAdminState) ||
@@ -2431,7 +2430,7 @@ uint32_t avd_sg_nway_susi_succ_sg_realig
                                                                goto done;
                                                        }
 
-                                                       
m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                                                       su_node_ptr = 
su->get_node_ptr();
 
                                                        /* if su-shutdown 
semantics in progress, mark it locked */
                                                        if 
(su->saAmfSUAdminState == SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -2522,7 +2521,7 @@ uint32_t avd_sg_nway_susi_succ_sg_realig
                                                        goto done;
                                                }
 
-                                               m_AVD_GET_SU_NODE_PTR(cb, su, 
su_node_ptr);
+                                               su_node_ptr = 
su->get_node_ptr();
 
                                                /* if su-shutdown semantics in 
progress, mark it locked */
                                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -2626,7 +2625,7 @@ uint32_t avd_sg_nway_susi_succ_sg_realig
        } else if (!susi && (AVSV_SUSI_ACT_DEL == act)) {
                /* => remove all success */
                /* if su-shutdown semantics in progress, mark it locked */
-               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+               su_node_ptr = su->get_node_ptr();
 
                if (su->saAmfSUAdminState == SA_AMF_ADMIN_SHUTTING_DOWN) {
                        su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -2773,7 +2772,7 @@ uint32_t avd_sg_nway_susi_succ_su_oper(A
                                        goto done;
                                }
 
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
 
                                /* if su-shutdown semantics in progress, mark 
it locked */
                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -2812,7 +2811,7 @@ uint32_t avd_sg_nway_susi_succ_su_oper(A
                                goto done;
                        }
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
 
                        /* if su-shutdown semantics in progress, mark it locked 
*/
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -3269,7 +3268,7 @@ void avd_sg_nway_node_fail_su_oper(AVD_C
        m_AVD_CHK_OPLIST(su, is_su_present);
 
        if (is_su_present) {
-               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+               su_node_ptr = su->get_node_ptr();
 
                if (su->saAmfSUAdminState == SA_AMF_ADMIN_SHUTTING_DOWN) {
                        su->set_admin_state(SA_AMF_ADMIN_LOCKED);
@@ -3652,7 +3651,7 @@ void avd_sg_nway_node_fail_sg_realign(AV
                m_AVD_CHK_OPLIST(su, is_su_present);
 
                if (true == is_su_present) {
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                        } else if (su_node_ptr->saAmfNodeAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
diff --git a/osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc
@@ -395,7 +395,7 @@ uint32_t avd_sg_nacvred_su_fault_func(AV
                        }
                        m_AVD_CHK_OPLIST(su, flag);
                        if (flag == true) {
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                        
su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                                } else if (su_node_ptr->saAmfNodeAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -427,7 +427,7 @@ uint32_t avd_sg_nacvred_su_fault_func(AV
                                        return NCSCC_RC_FAILURE;
                                }
 
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
                                if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                        
su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                                } else if (su_node_ptr->saAmfNodeAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -746,7 +746,7 @@ uint32_t avd_sg_nacvred_susi_sucss_func(
                                        return NCSCC_RC_FAILURE;
                                }
 
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
                                if (su->sg_of_su->admin_si != AVD_SI_NULL) {
                                        if 
((su->sg_of_su->admin_si->list_of_sisu->su == su) &&
                                            
(su->sg_of_su->admin_si->list_of_sisu->si_next == AVD_SU_SI_REL_NULL)) {
@@ -948,7 +948,7 @@ uint32_t avd_sg_nacvred_susi_sucss_func(
 
                                        m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
 
-                                       m_AVD_GET_SU_NODE_PTR(cb, su, 
su_node_ptr);
+                                       su_node_ptr = su->get_node_ptr();
                                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                                
su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                                        } else if 
(su_node_ptr->saAmfNodeAdminState == SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -1169,7 +1169,7 @@ uint32_t avd_sg_nacvred_susi_fail_func(A
                                        return NCSCC_RC_FAILURE;
                                }
 
-                               m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                               su_node_ptr = su->get_node_ptr();
                                if (su->sg_of_su->admin_si != AVD_SI_NULL) {
                                        if 
((su->sg_of_su->admin_si->list_of_sisu->su == su) &&
                                            
(su->sg_of_su->admin_si->list_of_sisu->si_next == AVD_SU_SI_REL_NULL)) {
@@ -1246,7 +1246,7 @@ uint32_t avd_sg_nacvred_susi_fail_func(A
                                                return NCSCC_RC_SUCCESS;
                                        }
 
-                                       m_AVD_GET_SU_NODE_PTR(cb, su, 
su_node_ptr);
+                                       su_node_ptr = su->get_node_ptr();
                                        m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
 
                                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -1492,7 +1492,7 @@ void avd_sg_nacvred_node_fail_func(AVD_C
                if (flag == true) {
                        avd_sg_su_oper_list_del(cb, su, false);
 
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                        } else if (su_node_ptr->saAmfNodeAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
@@ -1545,7 +1545,7 @@ void avd_sg_nacvred_node_fail_func(AVD_C
                                su->sg_of_su->si_tobe_redistributed = NULL;
                                m_AVSV_SEND_CKPT_UPDT_ASYNC_RMV(cb, 
su->sg_of_su, AVSV_CKPT_AVD_SI_TRANS);
                        }
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+                       su_node_ptr = su->get_node_ptr();
                        if (su->saAmfSUAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
                                su->set_admin_state(SA_AMF_ADMIN_LOCKED);
                        } else if (su_node_ptr->saAmfNodeAdminState == 
SA_AMF_ADMIN_SHUTTING_DOWN) {
diff --git a/osaf/services/saf/amf/amfd/sgproc.cc 
b/osaf/services/saf/amf/amfd/sgproc.cc
--- a/osaf/services/saf/amf/amfd/sgproc.cc
+++ b/osaf/services/saf/amf/amfd/sgproc.cc
@@ -444,7 +444,7 @@ void avd_su_oper_state_evh(AVD_CL_CB *cb
                goto done;
        }
 
-       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
+       su_node_ptr = su->get_node_ptr();
 
        if (n2d_msg->msg_info.n2d_opr_state.rec_rcvr.saf_amf == 
SA_AMF_NODE_SWITCHOVER) {
                saflog(LOG_NOTICE, amfSvcUsrName, "Node Switch-Over requested 
by '%s'",
@@ -661,7 +661,6 @@ void avd_su_oper_state_evh(AVD_CL_CB *cb
                 * the SG FSM.
                 */
                if (su->sg_of_su->sg_ncs_spec == true) {
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
                        if (su->saAmfSUAdminState == SA_AMF_ADMIN_UNLOCKED) { 
                                
su->set_readiness_state(SA_AMF_READINESS_IN_SERVICE);
                                /* Run the SG FSM */
@@ -676,9 +675,7 @@ void avd_su_oper_state_evh(AVD_CL_CB *cb
                                }
                        }
                } else {        /* if(su->sg_of_su->sg_ncs_spec == true) */
-
                        old_state = su->saAmfSuReadinessState;
-                       m_AVD_GET_SU_NODE_PTR(cb, su, su_node_ptr);
 
                        /* If oper state of Uninstantiated SU got ENABLED so 
try to instantiate it 
                           after evaluating SG. */
@@ -1302,8 +1299,7 @@ void avd_sg_app_node_su_inst_func(AVD_CL
 
                                } else {
                                        
i_su->set_oper_state(SA_AMF_OPERATIONAL_ENABLED);
-
-                                       m_AVD_GET_SU_NODE_PTR(cb, i_su, 
su_node_ptr);
+                                       su_node_ptr = i_su->get_node_ptr();
 
                                        if (m_AVD_APP_SU_IS_INSVC(i_su, 
su_node_ptr)) {
                                                
i_su->set_readiness_state(SA_AMF_READINESS_IN_SERVICE);
@@ -1368,7 +1364,7 @@ uint32_t avd_sg_app_su_inst_func(AVD_CL_
 
        i_su = sg->list_of_su;
        while (i_su != NULL) {
-               m_AVD_GET_SU_NODE_PTR(cb, i_su, su_node_ptr);
+               su_node_ptr = i_su->get_node_ptr();
                num_su++;
                /* Check if the SU is inservice */
                if (i_su->saAmfSuReadinessState == SA_AMF_READINESS_IN_SERVICE) 
{
@@ -1384,8 +1380,8 @@ uint32_t avd_sg_app_su_inst_func(AVD_CL_
                            (i_su->saAmfSUPresenceState == 
SA_AMF_PRESENCE_UNINSTANTIATED) &&
                            (su_node_ptr->saAmfNodeOperState == 
SA_AMF_OPERATIONAL_ENABLED) &&
                            (i_su->saAmfSUOperState == 
SA_AMF_OPERATIONAL_ENABLED) &&
-                           (i_su->term_state == false)) {
-                               m_AVD_GET_SU_NODE_PTR(cb, i_su, su_node_ptr);
+                               (i_su->term_state == false)) {
+                               su_node_ptr = i_su->get_node_ptr();
 
                                if (m_AVD_APP_SU_IS_INSVC(i_su, su_node_ptr)) {
                                        
i_su->set_readiness_state(SA_AMF_READINESS_IN_SERVICE);
@@ -1479,7 +1475,7 @@ uint32_t avd_sg_app_sg_admin_func(AVD_CL
                 * state.
                 */
                for (i_su = sg->list_of_su; i_su != NULL; i_su = 
i_su->sg_list_su_next) {
-                       m_AVD_GET_SU_NODE_PTR(cb, i_su, i_su_node_ptr);
+                       i_su_node_ptr = i_su->get_node_ptr();
                        // TODO(nagu) remove saAmfSUPreInstantiable check and 
move into m_AVD_APP_SU_IS_INSVC
                        if (m_AVD_APP_SU_IS_INSVC(i_su, i_su_node_ptr) &&
                                        ((i_su->saAmfSUPreInstantiable) ?
diff --git a/osaf/services/saf/amf/amfd/su.cc b/osaf/services/saf/amf/amfd/su.cc
--- a/osaf/services/saf/amf/amfd/su.cc
+++ b/osaf/services/saf/amf/amfd/su.cc
@@ -924,7 +924,7 @@ static void su_admin_op_cb(SaImmOiHandle
                goto done;
        }
 
-       m_AVD_GET_SU_NODE_PTR(cb, su, node);
+       node = su->get_node_ptr();
        if (node->admin_node_pend_cbk.admin_oper != 0) {
                report_admin_op_error(immoi_handle, invocation, 
SA_AIS_ERR_TRY_AGAIN, NULL,
                                "Node'%s' hosting SU'%s', undergoing admin 
operation'%u'", node->name.value,
@@ -1486,7 +1486,7 @@ static void su_ccb_apply_delete_hdlr(str
                goto done;
        }
 
-       m_AVD_GET_SU_NODE_PTR(avd_cb, su, su_node_ptr);
+       su_node_ptr = su->get_node_ptr();
 
        if ((su_node_ptr->node_state == AVD_AVND_STATE_PRESENT) ||
            (su_node_ptr->node_state == AVD_AVND_STATE_NO_CONFIG) ||
@@ -1605,7 +1605,7 @@ void AVD_SU::send_attribute_update(AVSV_
                TRACE_LEAVE2("avd is not in active state");
                return;
        }
-       m_AVD_GET_SU_NODE_PTR(avd_cb, this, su_node_ptr);
+
        param.class_id = AVSV_SA_AMF_SU;
        param.act = AVSV_OBJ_OPR_MOD;
        param.name = name;
@@ -1625,6 +1625,7 @@ void AVD_SU::send_attribute_update(AVSV_
        }
 
        /*Update this value on the node hosting this SU*/
+       su_node_ptr = get_node_ptr();
        if ((su_node_ptr) && ((su_node_ptr->node_state == 
AVD_AVND_STATE_PRESENT) ||
                        (su_node_ptr->node_state == AVD_AVND_STATE_NO_CONFIG) ||
                        (su_node_ptr->node_state == AVD_AVND_STATE_NCS_INIT))) {
@@ -1708,3 +1709,10 @@ void AVD_SU::set_su_switch(SaToggleState
        TRACE("%s su_switch %u", name.value, su_switch);
        m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, this, AVSV_CKPT_SU_SWITCH);
 }
+
+struct avd_avnd_tag *AVD_SU::get_node_ptr(void) {
+        if (su_is_external == true)
+                return avd_cb->ext_comp_info.local_avnd_node;
+        else
+                return su_on_node;
+}
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
@@ -338,11 +338,10 @@ uint32_t avd_snd_presence_msg(AVD_CL_CB 
 {
        uint32_t rc = NCSCC_RC_FAILURE;
        AVD_DND_MSG *d2n_msg;
-       AVD_AVND *node = NULL;
+       AVD_AVND *node = su->get_node_ptr();
 
-       m_AVD_GET_SU_NODE_PTR(cb, su, node);
-
-       TRACE_ENTER2("%s '%s'", (term_state == true) ? "Terminate" : 
"Instantiate", su->name.value);
+       TRACE_ENTER2("%s '%s'", (term_state == true) ? "Terminate" : 
"Instantiate",
+               su->name.value);
 
        /* prepare the node update message. */
        d2n_msg = new AVSV_DND_MSG();
@@ -356,7 +355,6 @@ uint32_t avd_snd_presence_msg(AVD_CL_CB 
 
        TRACE("Sending %u to %x", AVSV_D2N_PRESENCE_SU_MSG, 
node->node_info.nodeId);
 
-       /* send the message */
        if (avd_d2n_msg_snd(cb, node, d2n_msg) != NCSCC_RC_SUCCESS) {
                LOG_ER("%s: snd to %x failed", __FUNCTION__, 
node->node_info.nodeId);
                d2n_msg_free(d2n_msg);
@@ -575,12 +573,9 @@ done:
 
 uint32_t avd_snd_su_msg(AVD_CL_CB *cb, AVD_SU *su)
 {
-       AVD_AVND *node = NULL;
-
        TRACE_ENTER();
 
-       m_AVD_GET_SU_NODE_PTR(cb, su, node);
-
+       AVD_AVND *node = su->get_node_ptr();
        AVD_DND_MSG *su_msg = new AVSV_DND_MSG();
        su_msg->msg_type = AVSV_D2N_REG_SU_MSG;
        su_msg->msg_info.d2n_reg_su.nodeid = node->node_info.nodeId;
@@ -693,11 +688,9 @@ static SaAmfCompCapabilityModelT get_com
  * 
  **************************************************************************/
 
-uint32_t avd_snd_susi_msg(AVD_CL_CB *cb, AVD_SU *su, AVD_SU_SI_REL *susi, 
AVSV_SUSI_ACT actn, bool single_csi, 
-               AVD_COMP_CSI_REL *compcsi) {
-
+uint32_t avd_snd_susi_msg(AVD_CL_CB *cb, AVD_SU *su, AVD_SU_SI_REL *susi,
+               AVSV_SUSI_ACT actn, bool single_csi, AVD_COMP_CSI_REL *compcsi) 
{
        AVD_DND_MSG *susi_msg;
-       AVD_AVND *avnd;
        AVD_COMP_CSI_REL *l_compcsi;
        AVD_SU_SI_REL *l_susi, *i_susi;
        AVSV_SUSI_ASGN *compcsi_info;
@@ -705,11 +698,11 @@ uint32_t avd_snd_susi_msg(AVD_CL_CB *cb,
 
        TRACE_ENTER();
 
-       /* Get the node information from the SU */
-       m_AVD_GET_SU_NODE_PTR(cb, su, avnd);
+       AVD_AVND *avnd = su->get_node_ptr();
 
        /* Need not proceed further if node is not in proper state */
-       if ((avnd->node_state == AVD_AVND_STATE_ABSENT) || (avnd->node_state == 
AVD_AVND_STATE_GO_DOWN))
+       if ((avnd->node_state == AVD_AVND_STATE_ABSENT) ||
+                       (avnd->node_state == AVD_AVND_STATE_GO_DOWN))
                return NCSCC_RC_SUCCESS;
 
        /* Initialize the local variables to avoid warnings */

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to