Messages in this thread | | | Date | Fri, 30 Jul 2010 22:30:16 +0800 | From | Herbert Xu <> | Subject | Re: [PATCH] act_nat: the checksum of ICMP doesn't have pseudo header |
| |
On Fri, Jul 30, 2010 at 10:16:05PM +0800, Changli Gao wrote: > > I know we need to update the ICMP checksum if we alter the payload(the > inner IP header here) of ICMP. But I doubt if the update is really > necessary if the checksum is partial, as the checksum will be done > later(by ether skb_checksum_help() or NIC hardware). In fact, as there > isn't any pseudo header, the icmph->checksum should be always ZERO, > otherwise skb_checksum_help() or NIC will give the wrong checksums, > when the checksum is partial.
Actually you are right. I suppose the only reason this has never shown up is because CHEKSUM_PARTIAL doesn't usually occur with forwarded packets.
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Thanks, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
| |