From mboxrd@z Thu Jan 1 00:00:00 1970 From: "David S. Miller" Subject: Re: pskb change in dst->output Date: Wed, 7 Jul 2004 15:01:32 -0700 Sender: netdev-bounce@oss.sgi.com Message-ID: <20040707150132.5dc470b6.davem@redhat.com> References: <20040707130652.GA26822@gondor.apana.org.au> <20040707212805.GA29899@gondor.apana.org.au> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: jmorris@redhat.com, netdev@oss.sgi.com Return-path: To: Herbert Xu In-Reply-To: <20040707212805.GA29899@gondor.apana.org.au> Errors-to: netdev-bounce@oss.sgi.com List-Id: netdev.vger.kernel.org On Thu, 8 Jul 2004 07:28:05 +1000 Herbert Xu 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.