Rusty Russell <[EMAIL PROTECTED]> wrote: > It's far easier to deal with GSO if we don't have to parse the packet > to figure out the header length. Add the field to the virtio_net_hdr > struct (and fix the spaces that somehow crept in there). > > Signed-off-by: Rusty Russell <[EMAIL PROTECTED]> > --- > drivers/net/virtio_net.c | 4 +++- > include/linux/virtio_net.h | 11 ++++++----- > 2 files changed, 9 insertions(+), 6 deletions(-) > > diff -r 24ef33a4ab14 drivers/net/virtio_net.c > --- a/drivers/net/virtio_net.c Tue Jan 15 16:59:58 2008 +1100 > +++ b/drivers/net/virtio_net.c Tue Jan 15 21:21:40 2008 +1100 > @@ -126,6 +126,7 @@ static void receive_skb(struct net_devic > /* Header must be checked, and gso_segs computed. */ > skb_shinfo(skb)->gso_type |= SKB_GSO_DODGY; > skb_shinfo(skb)->gso_segs = 0; > + skb_set_transport_header(skb, hdr->gso_hdr_len);
Why do we need this? When receiving GSO packets from an untrusted source the network stack will fill in the transport header offset after verifying that the headers are sane. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html