tipc: eliminate link's reference to owner node
[deliverable/linux.git] / net / tipc / node.c
index b27439097d6c6dcac6a7bd9d3986fff224aa5d35..eb739d20ed4636b2ddd46bb6fcb23f28d3e17d8f 100644 (file)
@@ -178,7 +178,7 @@ struct tipc_node *tipc_node_create(struct net *net, u32 addr, u16 capabilities)
        n_ptr->signature = INVALID_NODE_SIG;
        n_ptr->active_links[0] = INVALID_BEARER_ID;
        n_ptr->active_links[1] = INVALID_BEARER_ID;
-       if (!tipc_link_bc_create(n_ptr, tipc_own_addr(net), n_ptr->addr,
+       if (!tipc_link_bc_create(net, tipc_own_addr(net), n_ptr->addr,
                                 U16_MAX, tipc_bc_sndlink(net)->window,
                                 n_ptr->capabilities,
                                 &n_ptr->bc_entry.inputq1,
@@ -366,7 +366,10 @@ static void __tipc_node_link_up(struct tipc_node *n, int bearer_id,
                pr_debug("Old link <%s> becomes standby\n", ol->name);
                *slot0 = bearer_id;
                *slot1 = bearer_id;
+               tipc_link_set_active(nl, true);
+               tipc_link_set_active(ol, false);
        } else if (nl->priority == ol->priority) {
+               tipc_link_set_active(nl, true);
                *slot0 = bearer_id;
        } else {
                pr_debug("New link <%s> is standby\n", nl->name);
@@ -599,7 +602,7 @@ void tipc_node_check_dest(struct net *net, u32 onode,
                        goto exit;
                }
                if_name = strchr(b->name, ':') + 1;
-               if (!tipc_link_create(n, if_name, b->identity, b->tolerance,
+               if (!tipc_link_create(net, if_name, b->identity, b->tolerance,
                                      b->net_plane, b->mtu, b->priority,
                                      b->window, mod(tipc_net(net)->random),
                                      tipc_own_addr(net), onode,
This page took 0.024431 seconds and 5 git commands to generate.