Эх сурвалжийг харах

tipc: only create header copy for name distr messages

The TIPC name distributor pushes topology updates to the cluster
neighbors. Currently this is done in a unicast manner, and the
skb holding the update is cloned for each cluster member. This
is unnecessary, as we only modify the destnode field in the header
so we change it to do pskb_copy instead.

Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Erik Hugne 10 жил өмнө
parent
commit
3622c36f37

+ 1 - 1
net/tipc/name_distr.c

@@ -98,7 +98,7 @@ void named_cluster_distribute(struct net *net, struct sk_buff *skb)
 			continue;
 			continue;
 		if (!tipc_node_active_links(node))
 		if (!tipc_node_active_links(node))
 			continue;
 			continue;
-		oskb = skb_copy(skb, GFP_ATOMIC);
+		oskb = pskb_copy(skb, GFP_ATOMIC);
 		if (!oskb)
 		if (!oskb)
 			break;
 			break;
 		msg_set_destnode(buf_msg(oskb), dnode);
 		msg_set_destnode(buf_msg(oskb), dnode);