Re: [PATCH 1/1] qemu-kvm: virtio-net: Re-instate GSO code removed upstream

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2009-09-29 at 21:45 +0100, Mark McLoughlin wrote:
> On Tue, 2009-05-05 at 09:56 +0100, Mark McLoughlin wrote:
> > This commit:
> > 
> >    commit 559a8f45f34cc50d1a60b4f67a06614d506b2e01
> >    Subject: Remove stray GSO code from virtio_net (Mark McLoughlin)
> > 
> > Removed some GSO code from upstream qemu.git, but it needs to
> > be re-instated in qemu-kvm.git.
> > 
> > Reported-by: Sridhar Samudrala <sri@xxxxxxxxxx>
> > Signed-off-by: Mark McLoughlin <markmc@xxxxxxxxxx>
> > ---
> >  hw/virtio-net.c |    5 +++++
> >  1 files changed, 5 insertions(+), 0 deletions(-)
> > 
> > diff --git a/hw/virtio-net.c b/hw/virtio-net.c
> > index ac8e030..e5d7add 100644
> > --- a/hw/virtio-net.c
> > +++ b/hw/virtio-net.c
> > @@ -424,6 +424,11 @@ static int receive_filter(VirtIONet *n, const uint8_t *buf, int size)
> >      if (n->promisc)
> >          return 1;
> >  
> > +#ifdef TAP_VNET_HDR
> > +    if (tap_has_vnet_hdr(n->vc->vlan->first_client))
> > +        ptr += sizeof(struct virtio_net_hdr);
> > +#endif
> > +
> >      if (!memcmp(&ptr[12], vlan, sizeof(vlan))) {
> >          int vid = be16_to_cpup((uint16_t *)(ptr + 14)) & 0xfff;
> >          if (!(n->vlans[vid >> 5] & (1U << (vid & 0x1f))))
> 
> I'm not sure[1] how we didn't notice, but this has been broken on the
> stable-0.10 branch since 0.10.3; please apply there too
> 
> See:
> 
>   https://bugzilla.redhat.com/522994
> 
> Cheers,
> Mark.
> 
> [1] - well, one reason is that libvirt doesn't seem to be enabling
> vnet_hdr at the moment. That's the next thing to look at

Oh, another reason is that this is only a problem with 2.6.30 guests
which enable MAC based receive filtering

Cheers,
Mark.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux