On 10-Apr-2017 02:45:10 PM, David Ahern wrote: > On 4/10/17 2:43 PM, Jesper Dangaard Brouer wrote: > >> So now, all I need is to make this check pass: > >> if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_TSO4) || > >> virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_TSO6) || > >> virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_ECN) || > >> virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_UFO)) { > >> netdev_warn(dev, "can't set XDP while host is implementing LRO, disable LRO first\n"); > >> return -EOPNOTSUPP; > >> } > >> > >> I know running ethtool commands to disable those features does not change the > >> result. > >> > >> If you have an idea on how to solve this problem that would be great. > > > > Maybe someone on the xdp-newbies@xxxxxxxxxxxxxxx list can help? > > > > Pass this on the qemu command line for the device you want to run xdp: > > "gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off,guest_ufo=off" Awesome, it works ! If others want to do it with libvirt/virsh instead of the qemu command line, here is the right incantation to add to the "interface" section (with 4 vCPUs): <driver name='vhost' queues='8'> <host tso4='off' tso6='off' ecn='off' ufo='off'/> <guest tso4='off' tso6='off' ecn='off' ufo='off'/> </driver> Thanks ! Julien