Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e9d47a9 authored by Jon Paul Maloy's avatar Jon Paul Maloy Committed by David S. Miller
Browse files

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: default avatarJon Maloy <jon.maloy@ericsson.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3bb53380
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -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;
}

/*