summaryrefslogtreecommitdiffstats
path: root/net/tipc/net.c
diff options
context:
space:
mode:
authorJon Paul Maloy <jon.maloy@ericsson.com>2014-06-25 20:41:40 -0500
committerDavid S. Miller <davem@davemloft.net>2014-06-27 12:50:56 -0700
commitec8a2e5621db2da24badb3969eda7fd359e1869f (patch)
treec169c9e1d7d043ff5c73c3c4ccdcf09702d4f69a /net/tipc/net.c
parentb786e2b0faea1265d72533d59ec4482f764ad60f (diff)
downloadlinux-ec8a2e5621db2da24badb3969eda7fd359e1869f.tar.gz
linux-ec8a2e5621db2da24badb3969eda7fd359e1869f.tar.bz2
linux-ec8a2e5621db2da24badb3969eda7fd359e1869f.zip
tipc: same receive code path for connection protocol and data messages
As a preparation to eliminate port_lock we need to bring reception of connection protocol messages under proper protection of bh_lock_sock or socket owner. We fix this by letting those messages follow the same code path as incoming data messages. As a side effect of this change, the last reference to the function net_route_msg() disappears, and we can eliminate that function. Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Reviewed-by: Erik Hugne <erik.hugne@ericsson.com> Reviewed-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/net.c')
-rw-r--r--net/tipc/net.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/net/tipc/net.c b/net/tipc/net.c
index 5f7d6ffb5465..7fcc94998fea 100644
--- a/net/tipc/net.c
+++ b/net/tipc/net.c
@@ -103,46 +103,6 @@
* This is always used within the scope of a tipc_nametbl_lock(read).
* - A local spin_lock protecting the queue of subscriber events.
*/
-void tipc_net_route_msg(struct sk_buff *buf)
-{
- struct tipc_msg *msg;
- u32 dnode;
-
- if (!buf)
- return;
- msg = buf_msg(buf);
-
- /* Handle message for this node */
- dnode = msg_short(msg) ? tipc_own_addr : msg_destnode(msg);
- if (tipc_in_scope(dnode, tipc_own_addr)) {
- if (msg_isdata(msg)) {
- if (msg_mcast(msg))
- tipc_port_mcast_rcv(buf, NULL);
- else if (msg_destport(msg)) {
- tipc_sk_rcv(buf);
- } else {
- pr_warn("Cannot route msg; no destination\n");
- kfree_skb(buf);
- }
- return;
- }
- switch (msg_user(msg)) {
- case NAME_DISTRIBUTOR:
- tipc_named_rcv(buf);
- break;
- case CONN_MANAGER:
- tipc_port_proto_rcv(buf);
- break;
- default:
- kfree_skb(buf);
- }
- return;
- }
-
- /* Handle message for another node */
- skb_trim(buf, msg_size(msg));
- tipc_link_xmit(buf, dnode, msg_link_selector(msg));
-}
int tipc_net_start(u32 addr)
{