At this moment the migration of net features that depends on CVQ is not possible, as there is no reliable way to restore the device state like mac address, number of enabled queues, etc to the destination. This is mainly caused because the device must only read CVQ, and process all the commands before resuming the dataplane.
This series lift that requirement, sending the VHOST_VDPA_SET_VRING_ENABLE ioctl for dataplane vqs only after the device has processed all commands. --- >From FRC: * Enable vqs early in case CVQ cannot be shadowed. Eugenio Pérez (7): vdpa: export vhost_vdpa_set_vring_ready vdpa: add should_enable op vdpa: use virtio_ops->should_enable at vhost_vdpa_set_vrings_ready vdpa: add stub vhost_vdpa_should_enable vdpa: delay enable of data vqs vdpa: enable cvq svq if data vq are shadowed vdpa: remove net cvq migration blocker include/hw/virtio/vhost-vdpa.h | 9 +++++ hw/virtio/vhost-vdpa.c | 33 ++++++++++++---- net/vhost-vdpa.c | 69 ++++++++++++++++++++++++++-------- hw/virtio/trace-events | 2 +- 4 files changed, 89 insertions(+), 24 deletions(-) -- 2.39.3