Message ID | 3b1c8e18f8a61bd1e9a5ab296c7003a88679b3de.1348527749.git.mst@redhat.com |
---|---|
State | New |
Headers | show |
diff --git a/hw/virtio-net.c b/hw/virtio-net.c index d9a9f8f..c65dead 100644 --- a/hw/virtio-net.c +++ b/hw/virtio-net.c @@ -543,9 +543,7 @@ static int receive_filter(VirtIONet *n, const uint8_t *buf, int size) if (n->promisc) return 1; - if (n->has_vnet_hdr) { - ptr += sizeof(struct virtio_net_hdr); - } + ptr += n->host_hdr_len; if (!memcmp(&ptr[12], vlan, sizeof(vlan))) { int vid = be16_to_cpup((uint16_t *)(ptr + 14)) & 0xfff;
During packet filtering, we can now use host hdr len to offset incoming buffer unconditionally. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- hw/virtio-net.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)