diff options
author | Mark McLoughlin <markmc@redhat.com> | 2009-05-05 09:56:25 +0100 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2009-09-30 12:18:30 -0300 |
commit | a1cb4012df663b087852fd288ed6e7f55017f838 (patch) | |
tree | 0be3ca8a24ed58c6eef6aecfa83c5a5ec43c19ef | |
parent | 5f09a0ae5e1b81890f8945336bf81ac11d2e2e8c (diff) |
virtio-net: Re-instate GSO code removed upstreamstable-0.10
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@us.ibm.com>
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
(cherry picked from commit 6e57bb9a636cefdaba7decbd5ac10f1508ff64c0)
-rw-r--r-- | 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 f65ecd7d1..aaab83b0b 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)))) |