[3] https://lists.nongnu.org/archive/html/qemu-devel/2022-08/msg00325.html
v5:
- Rename s/start/load/
- Use independent NetClientInfo to only add load callback on cvq.
- Accept out sg instead of dev_buffers[] at vhost_vdpa_net_cvq_map_elem
- Use only out size instead of iovec dev_buffers to know if the descriptor is
effectively available, allowing to delete artificial !NULL VirtQueueElement
on vhost_svq_add call.
v4:
- Actually use NetClientInfo callback.
v3:
- Route vhost-vdpa start code through NetClientInfo callback.
- Delete extra vhost_net_stop_one() call.
v2:
- Fix SIGSEGV dereferencing SVQ when not in svq mode
v1 from RFC:
- Do not reorder DRIVER_OK & enable patches.
- Delete leftovers
Eugenio Pérez (10):
vhost: stop transfer elem ownership in vhost_handle_guest_kick
vhost: use SVQ element ndescs instead of opaque data for desc
validation
vhost: Do not depend on !NULL VirtQueueElement on vhost_svq_flush
vdpa: Get buffers from VhostVDPAState on vhost_vdpa_net_cvq_map_elem
vdpa: Extract vhost_vdpa_net_cvq_add from
vhost_vdpa_net_handle_ctrl_avail
vdpa: Make vhost_vdpa_net_cvq_map_elem accept any out sg
vdpa: add NetClientState->load() callback
vdpa: add net_vhost_vdpa_cvq_info NetClientInfo
vdpa: Add virtio-net mac address via CVQ at start
vdpa: Delete CVQ migration blocker
include/hw/virtio/vhost-vdpa.h | 1 -
include/net/net.h | 2 +
hw/net/vhost_net.c | 7 ++
hw/virtio/vhost-shadow-virtqueue.c | 31 +++---
hw/virtio/vhost-vdpa.c | 14 ---
net/vhost-vdpa.c | 163 +++++++++++++++++++++--------
6 files changed, 145 insertions(+), 73 deletions(-)