aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/node.c
diff options
context:
space:
mode:
authorJon Paul Maloy <jon.maloy@ericsson.com>2015-10-22 08:51:36 -0400
committerDavid S. Miller <davem@davemloft.net>2015-10-24 06:56:30 -0700
commit0e05498e9eae16a6d8c86543e77930ec152e655e (patch)
treed9c7a0ec7ea13f4babaa52b2c71068e8deda1bac /net/tipc/node.c
parenttipc: create broadcast transmission link at namespace init (diff)
downloadlinux-dev-0e05498e9eae16a6d8c86543e77930ec152e655e.tar.xz
linux-dev-0e05498e9eae16a6d8c86543e77930ec152e655e.zip
tipc: make link implementation independent from struct tipc_bearer
In reality, the link implementation is already independent from struct tipc_bearer, in that it doesn't store any reference to it. However, we still pass on a pointer to a bearer instance in the function tipc_link_create(), just to have it extract some initialization information from it. I later commits, we need to create instances of tipc_link without having any associated struct tipc_bearer. To facilitate this, we want to extract the initialization data already in the creator function in node.c, before calling tipc_link_create(), and pass this info on as individual parameters in the call. This commit introduces this change. Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Reviewed-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/node.c')
-rw-r--r--net/tipc/node.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c
index 2670751d0e2e..d3f7ca202281 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -493,6 +493,7 @@ void tipc_node_check_dest(struct net *net, u32 onode,
bool link_up = false;
bool accept_addr = false;
bool reset = true;
+ char *if_name;
*dupl_addr = false;
*respond = false;
@@ -579,7 +580,10 @@ void tipc_node_check_dest(struct net *net, u32 onode,
pr_warn("Cannot establish 3rd link to %x\n", n->addr);
goto exit;
}
- if (!tipc_link_create(n, b, mod(tipc_net(net)->random),
+ if_name = strchr(b->name, ':') + 1;
+ if (!tipc_link_create(n, 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, &le->maddr,
&le->inputq, &n->bclink.namedq, &l)) {
*respond = false;