src/imm/agent/imma_om_api.cc |   2 --
 src/imm/immnd/immnd_evt.c    |   8 --------
 src/imm/immnd/immnd_mds.c    |  26 ++++++++++++++++++++++++--
 3 files changed, 24 insertions(+), 12 deletions(-)


diff --git a/src/imm/agent/imma_om_api.cc b/src/imm/agent/imma_om_api.cc
--- a/src/imm/agent/imma_om_api.cc
+++ b/src/imm/agent/imma_om_api.cc
@@ -139,7 +139,6 @@ SaAisErrorT saImmOmInitialize_o2(SaImmHa
                                                cl_node->isImmA2x11 = true;
                                                if 
(requested_version.minorVersion >= 0x12) {
                                                        cl_node->isImmA2x12 = 
true;
-                                                       TRACE("DBG: version 
A.2.18 is set");
                                                }
                                        }
                                }
@@ -203,7 +202,6 @@ SaAisErrorT saImmOmInitialize(SaImmHandl
                                                                
cl_node->isImmA2x11 = true;
                                                                if 
(requested_version.minorVersion >= 0x12) {
                                                                        
cl_node->isImmA2x12 = true;
-                                                                       
TRACE("DBG: version A.2.18 is set");
                                                                }
                                                        }
                                                }
diff --git a/src/imm/immnd/immnd_evt.c b/src/imm/immnd/immnd_evt.c
--- a/src/imm/immnd/immnd_evt.c
+++ b/src/imm/immnd/immnd_evt.c
@@ -9431,14 +9431,6 @@ static void immnd_evt_proc_finalize_sync
                                
"SA_IMM_KEEP_REPOSITORY":"SA_IMM_INIT_FROM_FILE");
                }
                immnd_adjustEpoch(cb, true);
-               /* If the node is payload give the indication to 
clm_init_sel_obj
-                *  because payload nodes are not subscribing for AVD up
-                */
-               if(!immnd_cb->isNodeTypeController && !cb->clm_hdl){
-                       TRACE_8("clm_init_sel_obj indication is given at 
payload");
-                       ncs_sel_obj_ind(&immnd_cb->clm_init_sel_obj);
-
-                }
 
                /* Sync completed for client => trigger active resurrect. */
                memset(&send_evt, '\0', sizeof(IMMSV_EVT));
diff --git a/src/imm/immnd/immnd_mds.c b/src/imm/immnd/immnd_mds.c
--- a/src/imm/immnd/immnd_mds.c
+++ b/src/imm/immnd/immnd_mds.c
@@ -204,7 +204,22 @@ uint32_t immnd_mds_register(IMMND_CB *cb
                        LOG_WA("MDS AVD Subscription Failed");
                        goto error1;
                }
-       } 
+       } else {
+
+               /* STEP 6: Subscribe to CLMS events in MDS. This will be
+                  used for CLM registration at Payloads.*/
+
+               svc_id[0]  = NCSMDS_SVC_ID_CLMS;
+               svc_info.i_op = MDS_SUBSCRIBE;
+               svc_info.info.svc_subscribe.i_scope = NCSMDS_SCOPE_NONE;
+               svc_info.info.svc_subscribe.i_num_svcs = 1;
+               svc_info.info.svc_subscribe.i_svc_ids = svc_id;
+
+               if (ncsmds_api(&svc_info) == NCSCC_RC_FAILURE) {
+                       LOG_WA("MDS CLMS Subscription Failed");
+                       goto error1;
+               }
+       }
 
        cb->node_id = m_NCS_GET_NODE_ID;
        TRACE_2("cb->node_id:%x", cb->node_id);
@@ -629,7 +644,14 @@ static uint32_t immnd_mds_svc_evt(IMMND_
                                ncs_sel_obj_ind(&immnd_cb->clm_init_sel_obj);
                        }
                }
-       } 
+       } else if(!cb->isNodeTypeController && svc_evt->i_svc_id == 
NCSMDS_SVC_ID_CLMS){
+               if (svc_evt->i_change == NCSMDS_UP) {
+                       TRACE_8("MDS UP dest: %" PRIx64 ", node ID: %x, svc_id: 
%d",
+                                       svc_evt->i_dest, svc_evt->i_node_id, 
svc_evt->i_svc_id);
+                       TRACE_8("CLMS is UP");
+                       ncs_sel_obj_ind(&immnd_cb->clm_init_sel_obj);
+               }
+       }
 
        /* IMMA events from other nodes can not happen */
        if ((svc_evt->i_svc_id == NCSMDS_SVC_ID_IMMA_OM) || (svc_evt->i_svc_id 
== NCSMDS_SVC_ID_IMMA_OI))

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to