Re: pppoe and receive checksum offload
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2005-02-28 11:31:06
On Thu, Feb 24, 2005 at 11:59:06PM +0000, Stephen Hemminger wrote:
quoted hunk ↗ jump to hunk
Not sure if this is correct, but shouldn't pppoe be doing the following: ----- diff -Nru a/drivers/net/pppoe.c b/drivers/net/pppoe.c--- a/drivers/net/pppoe.c 2005-02-24 15:40:10 -08:00 +++ b/drivers/net/pppoe.c 2005-02-24 15:40:10 -08:00@@ -339,6 +339,7 @@ int len = ntohs(ph->length); skb_pull(skb, sizeof(struct pppoe_hdr)); skb_trim(skb, len); + skb->ip_summed = CHECKSUM_NONE;
This penalises CHECKSUM_HW. We should have a generic helper function that does the checksum folding for CHECKSUM_HW and if otherwise set ip_summed to CHECKSUM_NONE. In fact it looks like the current code in ip_gre is broken in this respect as well. Let me whip up a patch tomorrow. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt