vDPA device is a device that uses a datapath which complies with the virtio specifications with vendor specific control path. vDPA devices can be both physically located on the hardware or emulated by software. This RFC introduce the vDPA support in qemu
change from v1 separe the patch of introduce vhost_set_vring_ready method separe the patch of qemu_get_peer separe the patch of vhost_set_state intorduce the new macro specific for vDPA in configure intorduce the fuction to pass the fd from cmdline introduce the docmation in qemu-options.hx the other comments form last version Cindy Lu (3): net: introduce qemu_get_peer net: use the function qemu_get_peer virtio_net: introduce vhost_set_state Jason Wang (4): virtio-bus: introduce queue_enabled method virito-pci: implement queue_enabled method vhost_net: set vq ready during start if necessary vhost: introduce vhost_set_vring_ready method Tiwei Bie (2): vhost-vdpa: introduce vhost-vdpa net client vhost-vdpa: implement vhost-vdpa backend configure | 21 ++ hw/net/vhost_net-stub.c | 4 + hw/net/vhost_net.c | 77 ++++- hw/net/virtio-net.c | 9 + hw/virtio/Makefile.objs | 1 + hw/virtio/vhost-backend.c | 5 + hw/virtio/vhost-vdpa.c | 447 ++++++++++++++++++++++++++++++ hw/virtio/vhost.c | 14 + hw/virtio/virtio-pci.c | 13 + hw/virtio/virtio.c | 6 + include/hw/virtio/vhost-backend.h | 10 +- include/hw/virtio/vhost-vdpa.h | 25 ++ include/hw/virtio/vhost.h | 1 + include/hw/virtio/virtio-bus.h | 4 + include/net/net.h | 1 + include/net/vhost-vdpa.h | 19 ++ include/net/vhost_net.h | 4 +- net/Makefile.objs | 2 +- net/clients.h | 2 + net/net.c | 9 + net/vhost-vdpa.c | 227 +++++++++++++++ qapi/net.json | 22 +- qemu-options.hx | 19 ++ 23 files changed, 930 insertions(+), 12 deletions(-) create mode 100644 hw/virtio/vhost-vdpa.c create mode 100644 include/hw/virtio/vhost-vdpa.h create mode 100644 include/net/vhost-vdpa.h create mode 100644 net/vhost-vdpa.c -- 2.21.1