On Thu, 2009-10-29 at 14:48 +0000, Mark McLoughlin wrote: > Ah, it all makes sense now. > > I was getting confused between HOST_* and GUEST_* > > this should have been: > > features |= (1 << VIRTIO_NET_F_MAC); > features |= (1 << VIRTIO_NET_F_HOST_CSUM); > features |= (1 << VIRTIO_NET_F_HOST_TSO4); > features |= (1 << VIRTIO_NET_F_HOST_TSO6); > features |= (1 << VIRTIO_NET_F_HOST_ECN); > > Could you try that Dustin? Hmm, not sure I'm doing this correctly... I tried changing the following, but looks like I might also have to define these as well, since: /tmp/qemu-kvm/qemu-kvm/hw/virtio-net.c:167: error: ‘VIRTIO_NET_F_HOST_CSUM’ undeclared (first use in this function) diff --git a/hw/virtio-net.c b/hw/virtio-net.c index ce8e6cb..6582e69 100644 --- a/hw/virtio-net.c +++ b/hw/virtio-net.c @@ -164,10 +164,10 @@ static uint32_t virtio_net_bad_features(VirtIODevice *vdev) /* Linux kernel 2.6.25. It understood MAC (as everyone must), * but also these: */ features |= (1 << VIRTIO_NET_F_MAC); - features |= (1 << VIRTIO_NET_F_GUEST_CSUM); - features |= (1 << VIRTIO_NET_F_GUEST_TSO4); - features |= (1 << VIRTIO_NET_F_GUEST_TSO6); - features |= (1 << VIRTIO_NET_F_GUEST_ECN); + features |= (1 << VIRTIO_NET_F_HOST_CSUM); + features |= (1 << VIRTIO_NET_F_HOST_TSO4); + features |= (1 << VIRTIO_NET_F_HOST_TSO6); + features |= (1 << VIRTIO_NET_F_HOST_ECN); return features & virtio_net_get_features(vdev); }