Since QEMU 2.4.0, vhost-net uses the cross-endian support of TAP devices to fix vnet headers. In fact, virtio-net can do the same instead of hackily patching headers in virtio_net_hdr_swap().
This series moves the enablement of cross-endian support from vhost-net to virtio-net: both vhost and full emulation can now benefit from it. Of course we keep the current hack to fall back on when the backend doesn't support cross-endian. --- Greg Kurz (3): virtio-net: use the backend cross-endian capabilities Revert "vhost-net: tell tap backend about the vnet endianness" virtio: drop the virtio_needs_swap() helper hw/net/vhost_net.c | 33 +------------------------------ hw/net/virtio-net.c | 40 +++++++++++++++++++++++++++++++++++-- include/hw/virtio/virtio-access.h | 9 -------- include/hw/virtio/virtio-net.h | 1 + 4 files changed, 40 insertions(+), 43 deletions(-)