Files
linux/drivers
Mark McLoughlin 23cde76d80 virtio_net: Fix skb->csum_start computation
hdr->csum_start is the offset from the start of the ethernet
header to the transport layer checksum field. skb->csum_start
is the offset from skb->head.

skb_partial_csum_set() assumes that skb->data points to the
ethernet header - i.e. it computes skb->csum_start by adding
the headroom to hdr->csum_start.

Since eth_type_trans() skb_pull()s the ethernet header,
skb_partial_csum_set() should be called before
eth_type_trans().

(Without this patch, GSO packets from a guest to the world outside the
host are corrupted).

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-06-10 18:20:29 -04:00
..
2008-05-20 14:52:25 -07:00
2008-05-30 15:09:44 +10:00
2008-05-24 09:56:11 -07:00
2008-05-20 16:44:43 +02:00
2008-05-20 13:31:54 -07:00
2008-05-20 13:31:55 -07:00
2008-04-29 08:06:18 -07:00
2008-05-26 16:08:40 +02:00
2008-05-21 16:56:00 -07:00
2008-05-30 07:43:24 -07:00
2008-05-21 16:55:59 -07:00
2008-05-20 13:31:55 -07:00
2008-05-30 15:09:46 +10:00
2008-04-24 23:57:33 +02:00
2008-04-30 08:29:52 -07:00
2008-04-30 08:29:52 -07:00