Rusty Russell <rusty@xxxxxxxxxxxxxxx> 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 <rusty@xxxxxxxxxxxxxxx> > --- > 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~} <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization