netdev
[Top] [All Lists]

Re: pskb change in dst->output

To: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Subject: Re: pskb change in dst->output
From: "David S. Miller" <davem@xxxxxxxxxx>
Date: Wed, 7 Jul 2004 15:01:32 -0700
Cc: jmorris@xxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20040707212805.GA29899@xxxxxxxxxxxxxxxxxxx>
References: <20040707130652.GA26822@xxxxxxxxxxxxxxxxxxx> <Xine.LNX.4.44.0407071013080.26759-100000@xxxxxxxxxxxxxxxxxxxxxxxx> <20040707212805.GA29899@xxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Thu, 8 Jul 2004 07:28:05 +1000
Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:

> OK.  Can you please tell me which caller of dst_output() passes
> a cloned skb to it?
> 
> I need to know this because if this is the case, we need fix the various
> IPsec output functions to copy the skb.

They do already, via skb_cow().

The case James's patch tries to deal with is when multicast
loops back packets to localhost, see ip_mc_output().
Since the SKB is a clone, if we do anything with the checksum
state of the clone, this messes up the hw checksumming state
of the original SKB and we get output packets with corrupt
checksums.

<Prev in Thread] Current Thread [Next in Thread>