Skip to content

Commit

Permalink
tipc: more cleanup of tunnelling reception function
Browse files Browse the repository at this point in the history
We simplify and slim down the code in function tipc_tunnel_rcv()
No impact on the users of this function.

Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jon Paul Maloy authored and David S. Miller committed Feb 13, 2014
1 parent 3bb5338 commit 1e9d47a
Showing 1 changed file with 7 additions and 14 deletions.
21 changes: 7 additions & 14 deletions net/tipc/link.c
Original file line number Diff line number Diff line change
Expand Up @@ -2180,34 +2180,27 @@ 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;

dest_link = n_ptr->links[bearer_id];
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;
}

/*
Expand Down

0 comments on commit 1e9d47a

Please sign in to comment.