Subject: Re: [PATCH] tcpdump may trace some outbound packets twice.

From: Patrick McHardy <[email-masked]>
Date: Mon, 15 May 2006 23:41:52 +0200

David S. Miller wrote:
> From: Ranjit Manomohan <[email-masked]>
> Date: Mon, 15 May 2006 14:19:06 -0700 (PDT)
> 
> 
>>Heres a new version which does a copy instead of the clone to avoid
>>the double cloning issue.
> 
> 
> I still very much dislike this patch because it is creating
> 1 more clone per packet than is actually necessary and that
> is very expensive.
> 
> dev_queue_xmit_nit() is going to clone whatever SKB you send into
> there, so better to just bump the reference count (with skb_get())
> instead of cloning or copying.

I think this would break the tc actions. Some actions call
pskb_expand_head() on input, which BUGs on skb_shared(skb).
They can't clone the skb instead because the functions
doing that don't own it, the caller would continue with the
old skb.