Merge commit 211eb5f301 lost the code we had in tap_send_packet() to handle the case of the tapfd having IF_VNET_HDR enabled, but the NIC code not having support for virtio_net_hdr. In this case, we just strip off the header before passing it to the NIC. Fixes: http://sourceforge.net/tracker/?func=detail&atid=893831&aid=2817367&group_id=180599 Network doesn't work anymore switching from kvm-86 to kvm-87 Signed-off-by: Mark McLoughlin <markmc@xxxxxxxxxx> --- net.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/net.c b/net.c index ac06ea1..19e00e0 100644 --- a/net.c +++ b/net.c @@ -1460,12 +1460,21 @@ static void tap_send(void *opaque) int size; do { + uint8_t *buf = s->buf; + size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); if (size <= 0) { break; } - size = qemu_send_packet_async(s->vc, s->buf, size, tap_send_completed); +#ifdef IFF_VNET_HDR + if (s->has_vnet_hdr && !s->using_vnet_hdr) { + buf += sizeof(struct virtio_net_hdr); + size -= sizeof(struct virtio_net_hdr); + } +#endif + + size = qemu_send_packet_async(s->vc, buf, size, tap_send_completed); if (size == 0) { tap_read_poll(s, 0); } -- 1.6.3.3 -- 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