- immnd prioritize re-introduce rsp from immd.
- immnd ignore broadcast events from IMMD if re-introduce on-going.
---
src/imm/immnd/immnd_evt.c | 12 ++++++++++++
src/imm/immnd/immnd_mds.c | 5 ++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/imm/immnd/immnd_evt.c b/src/imm/immnd/immnd_evt.c
index afc2106a0..087d512af 100644
--- a/src/imm/immnd/immnd_evt.c
+++ b/src/imm/immnd/immnd_evt.c
@@ -625,6 +625,18 @@ void immnd_process_evt(void)
return;
}
+ if ((cb->mIntroduced == 2) &&
+ ((evt->info.immnd.type == IMMND_EVT_D2ND_SYNC_START) ||
+ (evt->info.immnd.type == IMMND_EVT_D2ND_SYNC_ABORT) ||
+ (evt->info.immnd.type == IMMND_EVT_D2ND_PBE_PRTO_PURGE_MUTATIONS)
||
+ (evt->info.immnd.type == IMMND_EVT_D2ND_DUMP_OK) ||
+ (evt->info.immnd.type == IMMND_EVT_D2ND_LOADING_OK))) {
+ LOG_WA("DISCARD message from IMMD %x as re-intro on-going",
+ evt->sinfo.node_id);
+ immnd_evt_destroy(evt, true, __LINE__);
+ return;
+ }
+
if ((evt->info.immnd.type != IMMND_EVT_D2ND_GLOB_FEVS_REQ) &&
(evt->info.immnd.type != IMMND_EVT_D2ND_GLOB_FEVS_REQ_2))
immsv_msg_trace_rec(evt->sinfo.dest, evt);
diff --git a/src/imm/immnd/immnd_mds.c b/src/imm/immnd/immnd_mds.c
index 02cb4b552..d9cccd5d9 100644
--- a/src/imm/immnd/immnd_mds.c
+++ b/src/imm/immnd/immnd_mds.c
@@ -552,7 +552,10 @@ static uint32_t immnd_mds_rcv(IMMND_CB *cb,
MDS_CALLBACK_RECEIVE_INFO *rcv_info)
}
/* Put it in IMMND's Event Queue */
- if (pEvt->info.immnd.type == IMMND_EVT_A2ND_IMM_INIT)
+ if (pEvt->info.immnd.type == IMMND_EVT_D2ND_INTRO_RSP)
+ rc = m_NCS_IPC_SEND(&cb->immnd_mbx, (NCSCONTEXT)pEvt,
+ NCS_IPC_PRIORITY_VERY_HIGH);
+ else if (pEvt->info.immnd.type == IMMND_EVT_A2ND_IMM_INIT)
rc = m_NCS_IPC_SEND(&cb->immnd_mbx, (NCSCONTEXT)pEvt,
NCS_IPC_PRIORITY_HIGH);
else
--
2.17.1
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel