Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]

2016-08-11 Thread A V Mahesh
Hi Hoang,

I completed the testing most of the in service & normal test case are 
working fine ,
so I stated reviewing code now can please answer below :

1)
This patch introduced multiple new event  between  Agent to ND which are 
always
local to the node (  in a new version software  cpa & cpnd will always 
co-exist )
their no concept OLD CPA communicating with NEW CPND , so it is not 
required introduce new event
we can alwasy make exist event compatible with new support extended 
SaNameT ,
so remove new event merge the content in to a single  exist old event .

=

/* Events support extended SaNameT */
CPND_EVT_A2ND_CKPT_OPEN_2,/* Checkpoint Open Request */
CPND_EVT_A2ND_CKPT_UNLINK_2,/* Checkpoint Unlink Call */
CPND_EVT_A2ND_CKPT_LIST_UPDATE_2,/* Checkpoint ckpt list update Call */
CPND_EVT_D2ND_CKPT_CREATE_2,/* ckpt create evt for Non-collocated */

=

-AVM

On 7/21/2016 3:04 PM, Hoang Vo wrote:
>   osaf/libs/common/cpsv/cpsv_evt.c |  504 
> ++-
>   osaf/libs/common/cpsv/include/cpsv_evt.h |   24 +
>   osaf/services/saf/cpsv/cpd/cpd_mds.c |   84 -
>   osaf/services/saf/cpsv/cpnd/cpnd_mds.c   |   84 -
>   4 files changed, 668 insertions(+), 28 deletions(-)
>
>
> New messages supporting extended SaNameT are introduce. Encoding and decoding 
> funtions for them are also included.
>
> diff --git a/osaf/libs/common/cpsv/cpsv_evt.c 
> b/osaf/libs/common/cpsv/cpsv_evt.c
> --- a/osaf/libs/common/cpsv/cpsv_evt.c
> +++ b/osaf/libs/common/cpsv/cpsv_evt.c
> @@ -30,11 +30,14 @@
>   
>   #include "cpsv.h"
>   #include "cpa_tmr.h"
> +#include "osaf_extended_name.h"
>   
>   FUNC_DECLARATION(CPSV_CKPT_DATA);
>   static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t 
> svc_id);
>   static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT 
> *sec_id);
>   static void cpsv_convert_sec_id_to_string(char *sec_id_str, 
> SaCkptSectionIdT *section_id);
> +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, SaNameT 
> *name);
> +static uint32_t cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT 
> *name);
>   
>   const char *cpa_evt_str[] = {
>   "STRING_0",
> @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   info->client_hdl, info->ckpt_name.value);
>   break;
>   }
> + case CPND_EVT_A2ND_CKPT_OPEN_2:
> + {
> + CPSV_A2ND_OPEN_REQ *info = >info.cpnd.info.openReq;
> + snprintf(o_evt_str, len, 
> "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)",
> + info->client_hdl, 
> osaf_extended_name_borrow(>ckpt_name));
> + break;
> + }
>   case CPND_EVT_A2ND_CKPT_CLOSE:
>   {
>   CPSV_A2ND_CKPT_CLOSE *info = 
> >info.cpnd.info.closeReq;
> @@ -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   snprintf(o_evt_str, len, 
> "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value);
>   break;
>   }
> + case CPND_EVT_A2ND_CKPT_UNLINK_2:
> + {
> + CPSV_A2ND_CKPT_UNLINK *info = 
> >info.cpnd.info.ulinkReq;
> + snprintf(o_evt_str, len, 
> "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", 
> osaf_extended_name_borrow(>ckpt_name));
> + break;
> + }
>   case CPND_EVT_A2ND_CKPT_RDSET:
>   {
>   CPSV_A2ND_RDSET *info = >info.cpnd.info.rdsetReq;
> @@ -513,12 +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   case CPND_EVT_D2ND_CKPT_CREATE:
>   {
>   CPSV_D2ND_CKPT_CREATE *info = 
> >info.cpnd.info.ckpt_create;
> - snprintf(o_evt_str, len, "[%llu] 
> CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)",
> - info->ckpt_info.ckpt_id, info->ckpt_name.value,
> + snprintf(o_evt_str, len, "[%llu] 
> CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, 
> dest_cnt=%d)",
> + info->ckpt_info.ckpt_id, 
> osaf_extended_name_borrow(>ckpt_name),
>   info->ckpt_info.ckpt_rep_create ? "true" : 
> "false",
> - 
> m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest));
> + info->ckpt_info.is_active_exists ? "true" : 
> "false",
> + 
> m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest),
> + info->ckpt_info.dest_cnt);
>   break;
>   }
> + case CPND_EVT_D2ND_CKPT_CREATE_2:
> + {
> + CPSV_D2ND_CKPT_CREATE 

Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]

2016-08-10 Thread A V Mahesh
Hi Hoang,

Ok , I will  check and start testing & reviewing the patch.

-AVM


On 8/11/2016 10:11 AM, Vo Minh Hoang wrote:
> Dear Mahesh,
>
> Encode and decode for new messages are implemented in separate functions
> like *_encode() and *_decode() so they do not exist in *_edu.c file.
>
> I find only MDS_CLIENT_MSG_FORMAT_VER and I think that I should not update
> this each time adding new message. I am sorry if it is wrong.
>
> Thank you very much for your review.
> Best regards,
> Hoang
>
> -Original Message-
> From: A V Mahesh [mailto:mahesh.va...@oracle.com]
> Sent: Wednesday, August 10, 2016 6:37 PM
> To: Hoang Vo 
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: Re: [PATCH 4 of 8] cpsv: Add new message to support extended
> SaNameT v1 [#1574]
>
> Hi Hoang,
>
> I am seeing new encode decodes done between  D to ND ,  in this patch  ( old
> cpd to new cpnd  & old cpnd to new cpd ) but not able find edu rules ,
> please confirm.
>
> Otherwise it will take unnecessary  testing effort.
>
> If not handled please refer `osaf/libs/common/cpsv/cpsv_edu.c ` file for
> MSG_FORMAT_VER handling or any old patches
>
> -AVM
>
>
> On 8/2/2016 2:14 PM, Hoang Vo wrote:
>>osaf/libs/common/cpsv/cpsv_evt.c |  504
> ++-
>>osaf/libs/common/cpsv/include/cpsv_evt.h |   24 +
>>osaf/services/saf/cpsv/cpd/cpd_mds.c |   84 -
>>osaf/services/saf/cpsv/cpnd/cpnd_mds.c   |   84 -
>>4 files changed, 668 insertions(+), 28 deletions(-)
>>
>>
>> New messages supporting extended SaNameT are introduce. Encoding and
> decoding funtions for them are also included.
>> diff --git a/osaf/libs/common/cpsv/cpsv_evt.c
>> b/osaf/libs/common/cpsv/cpsv_evt.c
>> --- a/osaf/libs/common/cpsv/cpsv_evt.c
>> +++ b/osaf/libs/common/cpsv/cpsv_evt.c
>> @@ -30,11 +30,14 @@
>>
>>#include "cpsv.h"
>>#include "cpa_tmr.h"
>> +#include "osaf_extended_name.h"
>>
>>FUNC_DECLARATION(CPSV_CKPT_DATA);
>>static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t
> svc_id);
>>static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT
> *sec_id);
>>static void cpsv_convert_sec_id_to_string(char *sec_id_str,
>> SaCkptSectionIdT *section_id);
>> +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba,
>> +SaNameT *name); static uint32_t
>> +cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT *name);
>>
>>const char *cpa_evt_str[] = {
>>  "STRING_0",
>> @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>>  info->client_hdl, info->ckpt_name.value);
>>  break;
>>  }
>> +case CPND_EVT_A2ND_CKPT_OPEN_2:
>> +{
>> +CPSV_A2ND_OPEN_REQ *info =
> >info.cpnd.info.openReq;
>> +snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)",
>> +info->client_hdl,
> osaf_extended_name_borrow(>ckpt_name));
>> +break;
>> +}
>>  case CPND_EVT_A2ND_CKPT_CLOSE:
>>  {
>>  CPSV_A2ND_CKPT_CLOSE *info =
> >info.cpnd.info.closeReq; @@
>> -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>>  snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value);
>>  break;
>>  }
>> +case CPND_EVT_A2ND_CKPT_UNLINK_2:
>> +{
>> +CPSV_A2ND_CKPT_UNLINK *info =
> >info.cpnd.info.ulinkReq;
>> +snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)",
> osaf_extended_name_borrow(>ckpt_name));
>> +break;
>> +}
>>  case CPND_EVT_A2ND_CKPT_RDSET:
>>  {
>>  CPSV_A2ND_RDSET *info =
> >info.cpnd.info.rdsetReq; @@ -513,12
>> +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>>  case CPND_EVT_D2ND_CKPT_CREATE:
>>  {
>>  CPSV_D2ND_CKPT_CREATE *info =
> >info.cpnd.info.ckpt_create;
>> -snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)",
>> -info->ckpt_info.ckpt_id,
> info->ckpt_name.value,
>> +snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X,
> dest_cnt=%d)",
>> +info->ckpt_info.ckpt_id,
>> +osaf_extended_name_borrow(>ckpt_name),
>>  info->ckpt_info.ckpt_rep_create ? "true" :
> "false",
>> -
> m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest));
>> +info->ckpt_info.is_active_exists ? "true" :
> "false",
>> +
> m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest),
>> +info->ckpt_info.dest_cnt);
>>  break;
>>  }
>> +   

Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]

2016-08-10 Thread Vo Minh Hoang
Dear Mahesh,

Encode and decode for new messages are implemented in separate functions
like *_encode() and *_decode() so they do not exist in *_edu.c file.

I find only MDS_CLIENT_MSG_FORMAT_VER and I think that I should not update
this each time adding new message. I am sorry if it is wrong.

Thank you very much for your review.
Best regards,
Hoang

-Original Message-
From: A V Mahesh [mailto:mahesh.va...@oracle.com] 
Sent: Wednesday, August 10, 2016 6:37 PM
To: Hoang Vo 
Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 4 of 8] cpsv: Add new message to support extended
SaNameT v1 [#1574]

Hi Hoang,

I am seeing new encode decodes done between  D to ND ,  in this patch  ( old
cpd to new cpnd  & old cpnd to new cpd ) but not able find edu rules ,
please confirm.

Otherwise it will take unnecessary  testing effort.

If not handled please refer `osaf/libs/common/cpsv/cpsv_edu.c ` file for
MSG_FORMAT_VER handling or any old patches

-AVM


On 8/2/2016 2:14 PM, Hoang Vo wrote:
>   osaf/libs/common/cpsv/cpsv_evt.c |  504
++-
>   osaf/libs/common/cpsv/include/cpsv_evt.h |   24 +
>   osaf/services/saf/cpsv/cpd/cpd_mds.c |   84 -
>   osaf/services/saf/cpsv/cpnd/cpnd_mds.c   |   84 -
>   4 files changed, 668 insertions(+), 28 deletions(-)
>
>
> New messages supporting extended SaNameT are introduce. Encoding and
decoding funtions for them are also included.
>
> diff --git a/osaf/libs/common/cpsv/cpsv_evt.c 
> b/osaf/libs/common/cpsv/cpsv_evt.c
> --- a/osaf/libs/common/cpsv/cpsv_evt.c
> +++ b/osaf/libs/common/cpsv/cpsv_evt.c
> @@ -30,11 +30,14 @@
>   
>   #include "cpsv.h"
>   #include "cpa_tmr.h"
> +#include "osaf_extended_name.h"
>   
>   FUNC_DECLARATION(CPSV_CKPT_DATA);
>   static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t
svc_id);
>   static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT
*sec_id);
>   static void cpsv_convert_sec_id_to_string(char *sec_id_str, 
> SaCkptSectionIdT *section_id);
> +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, 
> +SaNameT *name); static uint32_t 
> +cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT *name);
>   
>   const char *cpa_evt_str[] = {
>   "STRING_0",
> @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   info->client_hdl, info->ckpt_name.value);
>   break;
>   }
> + case CPND_EVT_A2ND_CKPT_OPEN_2:
> + {
> + CPSV_A2ND_OPEN_REQ *info =
>info.cpnd.info.openReq;
> + snprintf(o_evt_str, len,
"CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)",
> + info->client_hdl,
osaf_extended_name_borrow(>ckpt_name));
> + break;
> + }
>   case CPND_EVT_A2ND_CKPT_CLOSE:
>   {
>   CPSV_A2ND_CKPT_CLOSE *info =
>info.cpnd.info.closeReq; @@ 
> -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   snprintf(o_evt_str, len,
"CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value);
>   break;
>   }
> + case CPND_EVT_A2ND_CKPT_UNLINK_2:
> + {
> + CPSV_A2ND_CKPT_UNLINK *info =
>info.cpnd.info.ulinkReq;
> + snprintf(o_evt_str, len,
"CPND_EVT_A2ND_CKPT_UNLINK_2(%s)",
osaf_extended_name_borrow(>ckpt_name));
> + break;
> + }
>   case CPND_EVT_A2ND_CKPT_RDSET:
>   {
>   CPSV_A2ND_RDSET *info =
>info.cpnd.info.rdsetReq; @@ -513,12 
> +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   case CPND_EVT_D2ND_CKPT_CREATE:
>   {
>   CPSV_D2ND_CKPT_CREATE *info =
>info.cpnd.info.ckpt_create;
> - snprintf(o_evt_str, len, "[%llu]
CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)",
> - info->ckpt_info.ckpt_id,
info->ckpt_name.value,
> + snprintf(o_evt_str, len, "[%llu]
CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X,
dest_cnt=%d)",
> + info->ckpt_info.ckpt_id, 
> +osaf_extended_name_borrow(>ckpt_name),
>   info->ckpt_info.ckpt_rep_create ? "true" :
"false",
> -
m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest));
> + info->ckpt_info.is_active_exists ? "true" :
"false",
> +
m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest),
> + info->ckpt_info.dest_cnt);
>   break;
>   }
> + case CPND_EVT_D2ND_CKPT_CREATE_2:
> + {
> + CPSV_D2ND_CKPT_CREATE *info =
>info.cpnd.info.ckpt_create;
> + snprintf(o_evt_str, len, "[%llu]
CPND_EVT_D2ND_CKPT_CREATE_2(%s, create_rep=%s, is_act=%s, active=0x%X,

Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]

2016-08-10 Thread A V Mahesh
Hi Hoang,

I am seeing new encode decodes done between  D to ND ,  in this patch  ( 
old cpd to new cpnd  & old cpnd to new cpd )
but not able find edu rules ,  please confirm.

Otherwise it will take unnecessary  testing effort.

If not handled please refer `osaf/libs/common/cpsv/cpsv_edu.c ` file for 
MSG_FORMAT_VER handling or any old patches

-AVM


On 8/2/2016 2:14 PM, Hoang Vo wrote:
>   osaf/libs/common/cpsv/cpsv_evt.c |  504 
> ++-
>   osaf/libs/common/cpsv/include/cpsv_evt.h |   24 +
>   osaf/services/saf/cpsv/cpd/cpd_mds.c |   84 -
>   osaf/services/saf/cpsv/cpnd/cpnd_mds.c   |   84 -
>   4 files changed, 668 insertions(+), 28 deletions(-)
>
>
> New messages supporting extended SaNameT are introduce. Encoding and decoding 
> funtions for them are also included.
>
> diff --git a/osaf/libs/common/cpsv/cpsv_evt.c 
> b/osaf/libs/common/cpsv/cpsv_evt.c
> --- a/osaf/libs/common/cpsv/cpsv_evt.c
> +++ b/osaf/libs/common/cpsv/cpsv_evt.c
> @@ -30,11 +30,14 @@
>   
>   #include "cpsv.h"
>   #include "cpa_tmr.h"
> +#include "osaf_extended_name.h"
>   
>   FUNC_DECLARATION(CPSV_CKPT_DATA);
>   static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t 
> svc_id);
>   static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT 
> *sec_id);
>   static void cpsv_convert_sec_id_to_string(char *sec_id_str, 
> SaCkptSectionIdT *section_id);
> +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, SaNameT 
> *name);
> +static uint32_t cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT 
> *name);
>   
>   const char *cpa_evt_str[] = {
>   "STRING_0",
> @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   info->client_hdl, info->ckpt_name.value);
>   break;
>   }
> + case CPND_EVT_A2ND_CKPT_OPEN_2:
> + {
> + CPSV_A2ND_OPEN_REQ *info = >info.cpnd.info.openReq;
> + snprintf(o_evt_str, len, 
> "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)",
> + info->client_hdl, 
> osaf_extended_name_borrow(>ckpt_name));
> + break;
> + }
>   case CPND_EVT_A2ND_CKPT_CLOSE:
>   {
>   CPSV_A2ND_CKPT_CLOSE *info = 
> >info.cpnd.info.closeReq;
> @@ -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   snprintf(o_evt_str, len, 
> "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value);
>   break;
>   }
> + case CPND_EVT_A2ND_CKPT_UNLINK_2:
> + {
> + CPSV_A2ND_CKPT_UNLINK *info = 
> >info.cpnd.info.ulinkReq;
> + snprintf(o_evt_str, len, 
> "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", 
> osaf_extended_name_borrow(>ckpt_name));
> + break;
> + }
>   case CPND_EVT_A2ND_CKPT_RDSET:
>   {
>   CPSV_A2ND_RDSET *info = >info.cpnd.info.rdsetReq;
> @@ -513,12 +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
>   case CPND_EVT_D2ND_CKPT_CREATE:
>   {
>   CPSV_D2ND_CKPT_CREATE *info = 
> >info.cpnd.info.ckpt_create;
> - snprintf(o_evt_str, len, "[%llu] 
> CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)",
> - info->ckpt_info.ckpt_id, info->ckpt_name.value,
> + snprintf(o_evt_str, len, "[%llu] 
> CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, 
> dest_cnt=%d)",
> + info->ckpt_info.ckpt_id, 
> osaf_extended_name_borrow(>ckpt_name),
>   info->ckpt_info.ckpt_rep_create ? "true" : 
> "false",
> - 
> m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest));
> + info->ckpt_info.is_active_exists ? "true" : 
> "false",
> + 
> m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest),
> + info->ckpt_info.dest_cnt);
>   break;
>   }
> + case CPND_EVT_D2ND_CKPT_CREATE_2:
> + {
> + CPSV_D2ND_CKPT_CREATE *info = 
> >info.cpnd.info.ckpt_create;
> + snprintf(o_evt_str, len, "[%llu] 
> CPND_EVT_D2ND_CKPT_CREATE_2(%s, create_rep=%s, is_act=%s, active=0x%X, 
> dest_cnt=%d)",
> + info->ckpt_info.ckpt_id, 
> osaf_extended_name_borrow(>ckpt_name),
> + info->ckpt_info.ckpt_rep_create ? "true" : 
> "false",
> + info->ckpt_info.is_active_exists ? "true" : 
> "false",
> + 
> m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest),
> + info->ckpt_info.dest_cnt);
> +
> + SaCkptCheckpointCreationAttributesT *attr = 
> 

[devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]

2016-08-02 Thread Hoang Vo
 osaf/libs/common/cpsv/cpsv_evt.c |  504 ++-
 osaf/libs/common/cpsv/include/cpsv_evt.h |   24 +
 osaf/services/saf/cpsv/cpd/cpd_mds.c |   84 -
 osaf/services/saf/cpsv/cpnd/cpnd_mds.c   |   84 -
 4 files changed, 668 insertions(+), 28 deletions(-)


New messages supporting extended SaNameT are introduce. Encoding and decoding 
funtions for them are also included.

diff --git a/osaf/libs/common/cpsv/cpsv_evt.c b/osaf/libs/common/cpsv/cpsv_evt.c
--- a/osaf/libs/common/cpsv/cpsv_evt.c
+++ b/osaf/libs/common/cpsv/cpsv_evt.c
@@ -30,11 +30,14 @@
 
 #include "cpsv.h"
 #include "cpa_tmr.h"
+#include "osaf_extended_name.h"
 
 FUNC_DECLARATION(CPSV_CKPT_DATA);
 static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t svc_id);
 static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT *sec_id);
 static void cpsv_convert_sec_id_to_string(char *sec_id_str, SaCkptSectionIdT 
*section_id);
+static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, SaNameT *name);
+static uint32_t cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT *name);
 
 const char *cpa_evt_str[] = {
"STRING_0",
@@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
info->client_hdl, info->ckpt_name.value);
break;
}
+   case CPND_EVT_A2ND_CKPT_OPEN_2:
+   {
+   CPSV_A2ND_OPEN_REQ *info = >info.cpnd.info.openReq;
+   snprintf(o_evt_str, len, 
"CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)",
+   info->client_hdl, 
osaf_extended_name_borrow(>ckpt_name));
+   break;
+   }
case CPND_EVT_A2ND_CKPT_CLOSE:
{
CPSV_A2ND_CKPT_CLOSE *info = 
>info.cpnd.info.closeReq;
@@ -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
snprintf(o_evt_str, len, 
"CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value);
break;
}
+   case CPND_EVT_A2ND_CKPT_UNLINK_2:
+   {
+   CPSV_A2ND_CKPT_UNLINK *info = 
>info.cpnd.info.ulinkReq;
+   snprintf(o_evt_str, len, 
"CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", osaf_extended_name_borrow(>ckpt_name));
+   break;
+   }
case CPND_EVT_A2ND_CKPT_RDSET:
{
CPSV_A2ND_RDSET *info = >info.cpnd.info.rdsetReq;
@@ -513,12 +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char *
case CPND_EVT_D2ND_CKPT_CREATE:
{
CPSV_D2ND_CKPT_CREATE *info = 
>info.cpnd.info.ckpt_create;
-   snprintf(o_evt_str, len, "[%llu] 
CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)",
-   info->ckpt_info.ckpt_id, info->ckpt_name.value,
+   snprintf(o_evt_str, len, "[%llu] 
CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, 
dest_cnt=%d)",
+   info->ckpt_info.ckpt_id, 
osaf_extended_name_borrow(>ckpt_name),
info->ckpt_info.ckpt_rep_create ? "true" : 
"false",
-   
m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest));
+   info->ckpt_info.is_active_exists ? "true" : 
"false",
+   
m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest),
+   info->ckpt_info.dest_cnt);
break;
}
+   case CPND_EVT_D2ND_CKPT_CREATE_2:
+   {
+   CPSV_D2ND_CKPT_CREATE *info = 
>info.cpnd.info.ckpt_create;
+   snprintf(o_evt_str, len, "[%llu] 
CPND_EVT_D2ND_CKPT_CREATE_2(%s, create_rep=%s, is_act=%s, active=0x%X, 
dest_cnt=%d)",
+   info->ckpt_info.ckpt_id, 
osaf_extended_name_borrow(>ckpt_name),
+   info->ckpt_info.ckpt_rep_create ? "true" : 
"false",
+   info->ckpt_info.is_active_exists ? "true" : 
"false",
+   
m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest),
+   info->ckpt_info.dest_cnt);
+
+   SaCkptCheckpointCreationAttributesT *attr = 
>ckpt_info.attributes;
+   TRACE("mSecS=%lld, flags=%d, mSec=%d, mSecIdS=%lld, 
ret=%lld, ckptS=%lld", attr->maxSectionSize, 
+   attr->creationFlags, attr->maxSections, 
attr->maxSectionIdSize, attr->retentionDuration,
+   attr->checkpointSize);
+   for (int i = 0; i < info->ckpt_info.dest_cnt; i++)
+   TRACE("dest[%d] = 0x%" PRIX64 " ", i, 
info->ckpt_info.dest_list[i].dest);
+   break;
+