Re: [devel] [PATCH 1 of 1] amfnd: queue PG track action msgs [#2115]

2016-10-14 Thread praveen malviya
Ack, code review only. One minor comment:

As per README PG tracking APIs are unavailable during headless. Here 
even though, controllers have come up system is still headless. Since 
application is distributed across nodes, application state from other 
nodes may also generate these PG events. After headless AMFD will get PG 
events from each node. An application may get unrecorded callbacks. I 
think in future, AMF can publish latest status of Protection group to 
each of the participating comps after returning from headless state and 
after becoming stable.


Thanks,
Praveen



On 14-Oct-16 11:14 AM, Gary Lee wrote:
> 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  
>> 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  
 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, >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


Re: [devel] [PATCH 1 of 1] amfnd: queue PG track action msgs [#2115]

2016-10-13 Thread Gary Lee
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  
> 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  
>>> 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, >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


Re: [devel] [PATCH 1 of 1] amfnd: queue PG track action msgs [#2115]

2016-10-13 Thread praveen malviya

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  
>> 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, >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


Re: [devel] [PATCH 1 of 1] amfnd: queue PG track action msgs [#2115]

2016-10-13 Thread Gary Lee
Hi Praveen

Yes, I will change it to make it clearer.

Thanks

> On 14 Oct. 2016, at 4:27 pm, praveen malviya  
> 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, >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


Re: [devel] [PATCH 1 of 1] amfnd: queue PG track action msgs [#2115]

2016-10-13 Thread praveen malviya
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, >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


[devel] [PATCH 1 of 1] amfnd: queue PG track action msgs [#2115]

2016-10-12 Thread Gary Lee
 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
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, >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