提交 1e9d47a9 编写于 作者: J Jon Paul Maloy 提交者: David S. Miller

tipc: more cleanup of tunnelling reception function

We simplify and slim down the code in function tipc_tunnel_rcv()
No impact on the users of this function.
Signed-off-by: NJon Maloy <jon.maloy@ericsson.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 3bb53380
......@@ -2180,9 +2180,10 @@ static int tipc_link_tunnel_rcv(struct tipc_node *n_ptr,
struct sk_buff *tunnel_buf = *buf;
struct tipc_link *dest_link;
struct tipc_msg *tunnel_msg = buf_msg(tunnel_buf);
u32 msg_typ = msg_type(tunnel_msg);
u32 bearer_id = msg_bearer_id(tunnel_msg);
*buf = NULL;
if (bearer_id >= MAX_BEARERS)
goto exit;
......@@ -2190,24 +2191,16 @@ static int tipc_link_tunnel_rcv(struct tipc_node *n_ptr,
if (!dest_link)
goto exit;
if (msg_typ == DUPLICATE_MSG) {
if (msg_type(tunnel_msg) == DUPLICATE_MSG)
tipc_link_dup_rcv(dest_link, tunnel_buf);
goto exit;
}
if (msg_type(tunnel_msg) == ORIGINAL_MSG) {
else if (msg_type(tunnel_msg) == ORIGINAL_MSG)
*buf = tipc_link_failover_rcv(dest_link, tunnel_buf);
else
pr_warn("%sunknown tunnel pkt received\n", link_co_err);
/* Do we have a buffer/buffer chain to return? */
if (*buf != NULL) {
kfree_skb(tunnel_buf);
return 1;
}
}
exit:
*buf = NULL;
kfree_skb(tunnel_buf);
return 0;
return *buf != NULL;
}
/*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册