Hi Praveen

Yeah, but at least it’s added to “diq”. So when amfnd gets set_led again, the 
message will be retransmitted and accepted by amfd.

Thanks
Gary

> On 14 Oct. 2016, at 4:40 pm, praveen malviya <praveen.malv...@oracle.com> 
> wrote:
> 
> 
> But I think same problem will still come as AMFND is trying to send this 
> newly added record only in the same function avnd_di_msg_send():
>  /* add the record to the AvD msg list */
>        if ((0 != (rec = avnd_diq_rec_add(cb, msg)))) {
>                /* send the message */
>                avnd_diq_rec_send(cb, rec);
>        } else
>                rc = NCSCC_RC_FAILURE;
> 
> Thanks,
> Praveen
> 
> 
> On 14-Oct-16 10:59 AM, Gary Lee wrote:
>> Hi Praveen
>> 
>> Yes, I will change it to make it clearer.
>> 
>> Thanks
>> 
>>> On 14 Oct. 2016, at 4:27 pm, praveen malviya <praveen.malv...@oracle.com> 
>>> wrote:
>>> 
>>> Hi Gary,
>>> 
>>> one query inline with [Praveen]
>>> 
>>> Thanks,
>>> Praveen
>>> 
>>> On 13-Oct-16 4:20 AM, Gary Lee wrote:
>>>> osaf/services/saf/amf/amfnd/di.cc |  8 ++------
>>>> 1 files changed, 2 insertions(+), 6 deletions(-)
>>>> 
>>>> 
>>>> After SC absence, active amfd will reject messages from 'veteran' amfnds 
>>>> until
>>>> its local amfnd has started. During this period, if a PG track action msg
>>>> is sent and rejected by amfd, it will cause the sending amfnd to lose sync
>>> [Praveen] I think here "lose sync" means it will cause message id mismatch 
>>> later.
>>> 
>>>> with amfd. So we should also queue this message to be re-sent.
>>>> 
>>>> diff --git a/osaf/services/saf/amf/amfnd/di.cc 
>>>> b/osaf/services/saf/amf/amfnd/di.cc
>>>> --- a/osaf/services/saf/amf/amfnd/di.cc
>>>> +++ b/osaf/services/saf/amf/amfnd/di.cc
>>>> @@ -1033,12 +1033,8 @@ uint32_t avnd_di_msg_send(AVND_CB *cb, A
>>>>    if (!msg)
>>>>            goto done;
>>>> 
>>>> -  /* Verify Ack nack and PG track action msgs are not buffered */
>>>> -  if (m_AVSV_N2D_MSG_IS_PG_TRACK_ACT(msg->info.avd)) {
>>>> -          /*send the response to AvD */
>>>> -          rc = avnd_mds_send(cb, msg, &cb->avd_dest, 0);
>>>> -          goto done;
>>>> -  } else if (m_AVSV_N2D_MSG_IS_VER_ACK_NACK(msg->info.avd)) {
>>>> +  /* Verify Ack nack msgs are not buffered */
>>>> +  if (m_AVSV_N2D_MSG_IS_VER_ACK_NACK(msg->info.avd)) {
>>>>            /*send the response to active AvD (In case MDS has not updated 
>>>> its
>>>>               tables by this time) */
>>>>            TRACE_1("%s, Active AVD Adest: %" PRIu64, __FUNCTION__, 
>>>> cb->active_avd_adest);
>>>> 
>> 


------------------------------------------------------------------------------
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
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to