Ack. with the following comments.

1. Correct the TRACE messages (droping--> dropping; right mapping to 
cluster-id, node-id etc.)
2. With the below changed condition, the flow never hits the existing 
code flow that deletes the stale-entries (if any). Please check.

+               if ((new_node->node_id == 0) || (new_node->node_id == 
node.node_id) ||
+                               (strncmp(node.node_ip, new_node->node_ip, 
INET6_ADDRSTRLEN) == 0)) {
+                       if (new_node->comm_status == true) {


Regards,
Ramesh.

On 6/4/2013 12:52 PM, [email protected] wrote:
>   osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c |  37 
> +++++++++------
>   1 files changed, 21 insertions(+), 16 deletions(-)
>
>
> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c 
> b/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
> --- a/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
> @@ -1158,24 +1158,29 @@ int dtm_process_connect(DTM_INTERNODE_CB
>       }
>   
>       new_node = dtm_node_get_by_id(node.node_id);
> -     /*new_node = dtm_node_get_by_node_ip((uint8_t *)node.node_ip);*/
> +     if (new_node != NULL) {
> +             if ((new_node->node_id == 0) || (new_node->node_id == 
> node.node_id) ||
> +                             (strncmp(node.node_ip, new_node->node_ip, 
> INET6_ADDRSTRLEN) == 0)) {
> +                     if (new_node->comm_status == true) {
> +                             if ((new_node->node_id == node.node_id) &&
> +                                             (strncmp(node.node_ip, 
> new_node->node_ip, INET6_ADDRSTRLEN) == 0))
> +                                     TRACE("DTM:node already discovered 
> droping message node_id :%u, cluster_id: %d, node_ip:%s",
> +                                                     node.cluster_id, 
> node.node_id, node.node_ip);
> +                             else
> +                                     LOG_WA("DTM:node duplicate discovered 
> droping message node_id :%u, cluster_id: %d, node_ip:%s",
> +                                                     node.cluster_id, 
> node.node_id, node.node_ip);
> +                             TRACE_LEAVE2("sock_desc :%d", sock_desc);
> +                     } else {
>   
> -     if (new_node != NULL) {
> -             if (((new_node->node_id == 0) || (new_node->node_id == 
> node.node_id)) &&
> -                 (strncmp(node.node_ip, new_node->node_ip, INET6_ADDRSTRLEN) 
> == 0) &&
> -                 (new_node->comm_status == false)) {
> -                     TRACE("DTM:new_node  discovery in progress droping 
> message");
> -                     TRACE_LEAVE2("sock_desc :%d", sock_desc);
> +                             TRACE("DTM: discovery in progress droping 
> message node_id :%u, cluster_id: %d node_ip:%s",
> +                                             node.cluster_id, node.node_id, 
> node.node_ip);
> +                             TRACE_LEAVE2("sock_desc :%d", sock_desc);
> +                     }
>                       return sock_desc;
> -             } else if ((new_node->comm_status == true) && 
> (new_node->node_id == node.node_id) &&
> -                        (strncmp(node.node_ip, new_node->node_ip, 
> INET6_ADDRSTRLEN) == 0)) {
> -                     TRACE("DTM:new_node node already discovered droping 
> message");
> -                     TRACE_LEAVE2("sock_desc :%d", sock_desc);
> -                     return sock_desc;
> -             } else if ((new_node->comm_status == false) &&
> -                        ((new_node->node_id != node.node_id) ||
> -                         (strncmp(node.node_ip, new_node->node_ip, 
> INET6_ADDRSTRLEN) != 0))) {
> -                     TRACE("DTM:new_node deleting stale enty ");
> +             } else if ((new_node->comm_status == false) && 
> ((new_node->node_id != node.node_id) ||
> +                                     (strncmp(node.node_ip, 
> new_node->node_ip, INET6_ADDRSTRLEN) != 0))) {
> +                     TRACE("DTM: deleting stale enty node_id :%u, 
> cluster_id: %d, node_ip:%s",
> +                                     node.cluster_id, node.node_id, 
> node.node_ip);
>                       if (dtm_node_delete(new_node, 0) != NCSCC_RC_SUCCESS) {
>                               LOG_ER("DTM :dtm_node_delete failed (recv())");
>                       }


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to