tipc: Ensure network address change doesn't impact name table updates
authorAllan Stephens <allan.stephens@windriver.com>
Tue, 17 Apr 2012 22:16:34 +0000 (18:16 -0400)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Thu, 19 Apr 2012 19:46:40 +0000 (15:46 -0400)
Revises routines that add and remove an entry from a node's name table
so that the publication scope lists are updated properly even if the
node's network address is changed in mid-operation. The routines now
recognize the default node address of <0.0.0> as an alias for "this node"
even after a new network address has been assigned.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
net/tipc/name_table.c

index 1e0518da19da577fd9cf01c53e33492870146b8c..25c2975d86ee421fcf4790b80ed3489444aa8371 100644 (file)
@@ -342,12 +342,12 @@ static struct publication *tipc_nameseq_insert_publ(struct name_seq *nseq,
        list_add(&publ->zone_list, &info->zone_list);
        info->zone_list_size++;
 
-       if (in_own_cluster_exact(node)) {
+       if (in_own_cluster(node)) {
                list_add(&publ->cluster_list, &info->cluster_list);
                info->cluster_list_size++;
        }
 
-       if (node == tipc_own_addr) {
+       if (in_own_node(node)) {
                list_add(&publ->node_list, &info->node_list);
                info->node_list_size++;
        }
@@ -411,14 +411,14 @@ found:
 
        /* Remove publication from cluster scope list, if present */
 
-       if (in_own_cluster_exact(node)) {
+       if (in_own_cluster(node)) {
                list_del(&publ->cluster_list);
                info->cluster_list_size--;
        }
 
        /* Remove publication from node scope list, if present */
 
-       if (node == tipc_own_addr) {
+       if (in_own_node(node)) {
                list_del(&publ->node_list);
                info->node_list_size--;
        }