osaf/services/saf/amf/amfd/include/si.h   |   7 +----
 osaf/services/saf/amf/amfd/sg_2n_fsm.cc   |   2 +-
 osaf/services/saf/amf/amfd/sg_npm_fsm.cc  |  38 +++++++++++++++---------------
 osaf/services/saf/amf/amfd/sg_nway_fsm.cc |  28 +++++++++++-----------
 osaf/services/saf/amf/amfd/si.cc          |   5 ++++
 5 files changed, 41 insertions(+), 39 deletions(-)


diff --git a/osaf/services/saf/amf/amfd/include/si.h 
b/osaf/services/saf/amf/amfd/include/si.h
--- a/osaf/services/saf/amf/amfd/include/si.h
+++ b/osaf/services/saf/amf/amfd/include/si.h
@@ -124,6 +124,8 @@ public:
 
        void add_rankedsu(const SaNameT *suname, uint32_t saAmfRank);
        void remove_rankedsu(const SaNameT *suname);
+       
+       void set_si_switch(AVD_CL_CB *cb, const SaToggleState state);
 
 private:
        AVD_SI(const AVD_SI&);
@@ -161,11 +163,6 @@ extern AmfDb<std::string, AVD_SVC_TYPE> 
 #define m_AVD_SI_STDBY_MAX_SU(l_si)       (l_si)->saAmfSIPrefStandbyAssignments
 #define m_AVD_SI_STDBY_CURR_SU(l_si)      
(l_si)->saAmfSINumCurrStandbyAssignments
 
-#define m_AVD_SET_SI_SWITCH(cb,si,state) {\
-si->si_switch = state;\
-m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(cb, si, AVSV_CKPT_SI_SWITCH);\
-}
-
 extern void avd_si_add_csi(struct avd_csi_tag* csi);
 extern void avd_si_remove_csi(struct avd_csi_tag *csi);
 extern AVD_SI *avd_si_new(const SaNameT *dn);
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
@@ -2393,7 +2393,7 @@ static uint32_t avd_sg_2n_susi_sucss_si_
                                 */
                                avd_susi_mod_send(su->list_of_susi, 
SA_AMF_HA_STANDBY);
 
-                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                               su->sg_of_su->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su));
                                avd_sg_su_oper_list_add(cb, su, false);
                                m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
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
@@ -1111,7 +1111,7 @@ static uint32_t avd_sg_npm_su_fault_si_o
                                 * operation list.  Identify the other SU 
assigned to this SI,
                                 * add it to the SU oper list.
                                 */
-                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                               su->sg_of_su->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                if (avd_sg_su_si_del_snd(cb, su) == 
NCSCC_RC_FAILURE) {
                                        LOG_ER("%s:%u: %s (%u)", __FILE__, 
__LINE__, su->name.value, su->name.length);
                                        return NCSCC_RC_FAILURE;
@@ -1136,7 +1136,7 @@ static uint32_t avd_sg_npm_su_fault_si_o
                                 * Change the SI switch state to false. Remove 
the SI from 
                                 * the SI admin pointer. Add the SU to the SU 
operation list.
                                 */
-                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                               su->sg_of_su->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su));
                                avd_sg_su_oper_list_add(cb, su, false);
                                if (su->sg_of_su->sg_fsm_state == 
AVD_SG_FSM_SI_OPER) {
@@ -1611,8 +1611,8 @@ static uint32_t avd_sg_npm_susi_sucss_sg
                                                                                
         su->name.length);
                                                        return NCSCC_RC_FAILURE;
                                                }
-                                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si),
-                                                                   
AVSV_SI_TOGGLE_STABLE);
+                                               
su->sg_of_su->admin_si->set_si_switch(cb,
+                                                       AVSV_SI_TOGGLE_STABLE);
                                                avd_sg_su_oper_list_add(cb, su, 
false);
                                                m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
 
@@ -1643,8 +1643,8 @@ static uint32_t avd_sg_npm_susi_sucss_sg
                                                avd_sg_su_oper_list_add(cb, 
o_susi->su, false);
                                                avd_sg_su_si_del_snd(cb, su);
                                                avd_sg_su_oper_list_add(cb, su, 
false);
-                                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si),
-                                                                   
AVSV_SI_TOGGLE_STABLE);
+                                               
su->sg_of_su->admin_si->set_si_switch(cb,
+                                                       AVSV_SI_TOGGLE_STABLE);
                                                m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
 
                                        }
@@ -1804,7 +1804,7 @@ static uint32_t avd_sg_npm_susi_sucss_sg
                                                return NCSCC_RC_FAILURE;
                                        }
                                        avd_sg_su_oper_list_add(cb, o_susi->su, 
false);
-                                       m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                                       
su->sg_of_su->admin_si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                        m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
 
                                }       /* if ((su->sg_of_su->admin_si != 
AVD_SI_NULL) && 
@@ -1913,8 +1913,8 @@ static uint32_t avd_sg_npm_susi_sucss_sg
                                                        return NCSCC_RC_FAILURE;
                                                }
                                                avd_sg_su_oper_list_add(cb, 
o_susi->su, false);
-                                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si),
-                                                                   
AVSV_SI_TOGGLE_STABLE);
+                                               
su->sg_of_su->admin_si->set_si_switch(cb,
+                                                       AVSV_SI_TOGGLE_STABLE);
                                                m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
 
                                        }       /* if ((su->sg_of_su->admin_si 
!= AVD_SI_NULL) && 
@@ -2719,7 +2719,7 @@ static uint32_t avd_sg_npm_susi_sucss_si
                                        }
 
                                        avd_sg_su_oper_list_add(cb, o_susi->su, 
false);
-                                       m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                                       
su->sg_of_su->admin_si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                        m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
                                        m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
                                }
@@ -2787,7 +2787,7 @@ static uint32_t avd_sg_npm_susi_sucss_si
                                        LOG_ER("%s:%u: %s (%u)", __FILE__, 
__LINE__, su->name.value, su->name.length);
                                        return NCSCC_RC_FAILURE;
                                }
-                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                               su->sg_of_su->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                avd_sg_su_oper_list_add(cb, su, false);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su));
                                m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
@@ -2832,7 +2832,7 @@ static uint32_t avd_sg_npm_susi_sucss_si
                                                return NCSCC_RC_FAILURE;
                                        }
                                        avd_sg_su_oper_list_add(cb, o_susi->su, 
false);
-                                       m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                                       
su->sg_of_su->admin_si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                        m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
                                        m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
                                }
@@ -3146,7 +3146,7 @@ uint32_t avd_sg_npm_susi_fail_func(AVD_C
 
                        avd_sg_su_oper_list_add(cb, su, false);
 
-                       m_AVD_SET_SI_SWITCH(cb, (su->sg_of_su->admin_si), 
AVSV_SI_TOGGLE_STABLE);
+                       su->sg_of_su->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
 
                        m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su));
 
@@ -3417,7 +3417,7 @@ static void avd_sg_npm_node_fail_sg_relg
                                        /* Change the SI switch state to false. 
Remove the SI from the 
                                         * SI admin pointer.
                                         */
-                                       m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                                       
su->sg_of_su->admin_si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                        m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
 
                                        if (su->sg_of_su->su_oper_list.su == 
NULL) {
@@ -3452,7 +3452,7 @@ static void avd_sg_npm_node_fail_sg_relg
                                        /* Change the SI switch state to false. 
Remove the SI from the 
                                         * SI admin pointer.
                                         */
-                                       m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                                       
su->sg_of_su->admin_si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                        m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
 
                                        /* Free all the SI assignments to this 
SU. */
@@ -3512,7 +3512,7 @@ static void avd_sg_npm_node_fail_sg_relg
                                        /* Change the SI switch state to false. 
Remove the SI from the 
                                         * SI admin pointer.
                                         */
-                                       m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                                       
su->sg_of_su->admin_si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                        m_AVD_CLEAR_SG_ADMIN_SI(cb, 
(su->sg_of_su));
 
                                        /* Free all the SI assignments to this 
SU. */
@@ -3965,7 +3965,7 @@ static void avd_sg_npm_node_fail_si_oper
                                /* Change the SI switch state to false. Remove 
the SI from the 
                                 * SI admin pointer.
                                 */
-                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                               su->sg_of_su->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su));
 
                                if (su->sg_of_su->su_oper_list.su == NULL) {
@@ -4005,7 +4005,7 @@ static void avd_sg_npm_node_fail_si_oper
                                /* Change the SI switch state to false. Remove 
the SI from the 
                                 * SI admin pointer.
                                 */
-                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                               su->sg_of_su->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su));
 
                                /* Free all the SI assignments to this SU. */
@@ -4063,7 +4063,7 @@ static void avd_sg_npm_node_fail_si_oper
                                /* Change the SI switch state to false. Remove 
the SI from the 
                                 * SI admin pointer.
                                 */
-                               m_AVD_SET_SI_SWITCH(cb, 
(su->sg_of_su->admin_si), AVSV_SI_TOGGLE_STABLE);
+                               su->sg_of_su->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, (su->sg_of_su));
 
                                /* Free all the SI assignments to this SU. */
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
@@ -180,7 +180,7 @@ uint32_t avd_sg_nway_siswitch_func(AVD_C
                goto done;
 
        /* set the toggle switch flag */
-       m_AVD_SET_SI_SWITCH(cb, si, AVSV_SI_TOGGLE_SWITCH);
+       si->set_si_switch(cb, AVSV_SI_TOGGLE_SWITCH);
 
        /* Add the SI to the SG admin pointer and change the SG state to 
SI_operation. */
        m_AVD_SET_SG_ADMIN_SI(cb, si);
@@ -432,7 +432,7 @@ uint32_t avd_sg_nway_susi_fail_func(AVD_
 
                        /* reset the switch operation */
                        m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
-                       m_AVD_SET_SI_SWITCH(cb, susi->si, 
AVSV_SI_TOGGLE_STABLE);
+                       susi->si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
 
                        /* add the su to su-oper list */
                        avd_sg_su_oper_list_add(cb, susi->su, false);
@@ -1861,7 +1861,7 @@ uint32_t avd_sg_nway_su_fault_sg_realign
                        if (si->si_switch == AVSV_SI_TOGGLE_SWITCH) {
                                if (SA_AMF_HA_QUIESCED == curr_susi->state) {
                                        /* si switch operation aborted */
-                                       m_AVD_SET_SI_SWITCH(cb, si, 
AVSV_SI_TOGGLE_STABLE);
+                                       si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                        m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
 
                                        /* identify all the active assigned 
assignments & send quiesced assignment */
@@ -2124,7 +2124,7 @@ uint32_t avd_sg_nway_su_fault_si_oper(AV
 
                        if ((SA_AMF_HA_QUIESCED == curr_susi->state) && 
(AVD_SU_SI_STATE_MODIFY == curr_susi->fsm)) {
                                /* si switch operation aborted */
-                               m_AVD_SET_SI_SWITCH(cb, si, 
AVSV_SI_TOGGLE_STABLE);
+                               si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
 
                                /* transition to su-oper state */
@@ -2143,7 +2143,7 @@ uint32_t avd_sg_nway_su_fault_si_oper(AV
                        } else if ((SA_AMF_HA_QUIESCED == curr_susi->state) &&
                                   (AVD_SU_SI_STATE_ASGND == curr_susi->fsm)) {
                                /* si switch operation aborted */
-                               m_AVD_SET_SI_SWITCH(cb, si, 
AVSV_SI_TOGGLE_STABLE);
+                               si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
 
                                /* add su to the su-oper list */
@@ -2152,7 +2152,7 @@ uint32_t avd_sg_nway_su_fault_si_oper(AV
                                AVD_SU_SI_REL *susi = 0;
 
                                /* si switch operation aborted */
-                               m_AVD_SET_SI_SWITCH(cb, si, 
AVSV_SI_TOGGLE_STABLE);
+                               si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
 
                                /* identify the quiesced assigning susi */
@@ -2178,7 +2178,7 @@ uint32_t avd_sg_nway_su_fault_si_oper(AV
                        /* => relationship doesnt exist */
 
                        /* si switch operation aborted */
-                       m_AVD_SET_SI_SWITCH(cb, si, AVSV_SI_TOGGLE_STABLE);
+                       si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
                        m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
 
                        /* identify the quiesced assigning susi */
@@ -2387,7 +2387,7 @@ uint32_t avd_sg_nway_susi_succ_sg_realig
 
                                /* reset the switch operation */
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
-                               m_AVD_SET_SI_SWITCH(cb, susi->si, 
AVSV_SI_TOGGLE_STABLE);
+                               susi->si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
 
                                /* add the su to su-oper list */
                                avd_sg_su_oper_list_add(cb, curr_susi->su, 
false);
@@ -2492,7 +2492,7 @@ uint32_t avd_sg_nway_susi_succ_sg_realig
 
                                /* reset the switch operation */
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
-                               m_AVD_SET_SI_SWITCH(cb, susi->si, 
AVSV_SI_TOGGLE_STABLE);
+                               susi->si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
 
                                /* add both sus to su-oper list */
                                avd_sg_su_oper_list_add(cb, curr_susi->su, 
false);
@@ -2573,7 +2573,7 @@ uint32_t avd_sg_nway_susi_succ_sg_realig
 
                                        /* reset the switch operation */
                                        m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
-                                       m_AVD_SET_SI_SWITCH(cb, susi->si, 
AVSV_SI_TOGGLE_STABLE);
+                                       susi->si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
 
                                        /* add the su to su-oper list */
                                        avd_sg_su_oper_list_add(cb, 
curr_susi->su, false);
@@ -2956,7 +2956,7 @@ uint32_t avd_sg_nway_susi_succ_si_oper(A
                        } else {
                                /* reset the switch operation */
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
-                               m_AVD_SET_SI_SWITCH(cb, susi->si, 
AVSV_SI_TOGGLE_STABLE);
+                               susi->si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
 
                                /* no standby.. send the prv active (now 
quiesced) active */
                                rc  = avd_susi_mod_send(susi, SA_AMF_HA_ACTIVE);
@@ -3027,7 +3027,7 @@ uint32_t avd_sg_nway_susi_succ_si_oper(A
                if ((sg->admin_si == susi->si) && (AVSV_SI_TOGGLE_SWITCH == 
susi->si->si_switch)) {
                        /* reset the switch operation */
                        m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
-                       m_AVD_SET_SI_SWITCH(cb, susi->si, 
AVSV_SI_TOGGLE_STABLE);
+                       susi->si->set_si_switch(cb, AVSV_SI_TOGGLE_STABLE);
 
                        /* identify the prv active su (now quiesced) */
                        for (curr_susi = susi->si->list_of_sisu;
@@ -3512,7 +3512,7 @@ void avd_sg_nway_node_fail_si_oper(AVD_C
                                avd_sg_su_oper_list_add(cb, curr_sisu->su, 
false);
 
                                /* si switch operation aborted */
-                               m_AVD_SET_SI_SWITCH(cb, sg->admin_si, 
AVSV_SI_TOGGLE_STABLE);
+                               sg->admin_si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
                        }
 
@@ -3528,7 +3528,7 @@ void avd_sg_nway_node_fail_si_oper(AVD_C
                            ((SA_AMF_HA_STANDBY == susi->state) && 
(AVD_SU_SI_STATE_ASGND == susi->fsm))
                            ) {
                                /* si switch operation aborted */
-                               m_AVD_SET_SI_SWITCH(cb, susi->si, 
AVSV_SI_TOGGLE_STABLE);
+                               susi->si->set_si_switch(cb, 
AVSV_SI_TOGGLE_STABLE);
                                m_AVD_CLEAR_SG_ADMIN_SI(cb, sg);
 
                                /* identify the susi that has to be assigned 
active */
diff --git a/osaf/services/saf/amf/amfd/si.cc b/osaf/services/saf/amf/amfd/si.cc
--- a/osaf/services/saf/amf/amfd/si.cc
+++ b/osaf/services/saf/amf/amfd/si.cc
@@ -1362,3 +1362,8 @@ void AVD_SI::set_admin_state(SaAmfAdminS
        avd_send_admin_state_chg_ntf(&name, SA_AMF_NTFID_SI_ADMIN_STATE, 
old_state, saAmfSIAdminState);
 }
 
+void AVD_SI::set_si_switch(AVD_CL_CB *cb, const SaToggleState state)
+{
+       si_switch = state;
+       m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(cb, this, AVSV_CKPT_SI_SWITCH);
+}

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to