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