]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/tipc/discover.c
tipc: reduce usage of context info in socket and link
[karo-tx-linux.git] / net / tipc / discover.c
index 5b40cb89ff0aaa5492ba5c51b38df6bdc3bc85a8..feef3753615d24f9067f859fcf7b0476b2708775 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * net/tipc/discover.c
  *
- * Copyright (c) 2003-2006, 2014, Ericsson AB
+ * Copyright (c) 2003-2006, 2014-2015, Ericsson AB
  * Copyright (c) 2005-2006, 2010-2011, Wind River Systems
  * All rights reserved.
  *
@@ -47,7 +47,6 @@
 /* indicates no timer in use */
 #define TIPC_LINK_REQ_INACTIVE 0xffffffff
 
-
 /**
  * struct tipc_link_req - information about an ongoing link setup request
  * @bearer_id: identity of bearer issuing requests
@@ -86,7 +85,8 @@ static void tipc_disc_init_msg(struct net *net, struct sk_buff *buf, u32 type,
        u32 dest_domain = b_ptr->domain;
 
        msg = buf_msg(buf);
-       tipc_msg_init(net, msg, LINK_CONFIG, type, INT_H_SIZE, dest_domain);
+       tipc_msg_init(tn->own_addr, msg, LINK_CONFIG, type,
+                     INT_H_SIZE, dest_domain);
        msg_set_non_seq(msg, 1);
        msg_set_node_sig(msg, tn->random);
        msg_set_dest_domain(msg, dest_domain);
@@ -163,13 +163,9 @@ void tipc_disc_rcv(struct net *net, struct sk_buff *buf,
        if (!tipc_in_scope(bearer->domain, onode))
                return;
 
-       /* Locate, or if necessary, create, node: */
-       node = tipc_node_find(net, onode);
-       if (!node)
-               node = tipc_node_create(net, onode);
+       node = tipc_node_create(net, onode);
        if (!node)
                return;
-
        tipc_node_lock(node);
        link = node->links[bearer->identity];