On 2020/4/20 下午5:32, Cindy Lu wrote:
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
Looks good overall, see comments inline.
And I think we need reorder the patches and split some patches into
smaller ones.
E.g
1) qemu_get_peer
2) queue_enabled method for virtio-bus
3) queue_enabled for virtio-pci
4) set_vring_ready for vhost_ops
5) vhost_set_state for vhost_ops
6) call vhost_set_state in virtio_net_vhost_status()
7) generic vdpa support
8) vhost-vdpa net backend
Thanks
Cindy Lu (3):
net: Introduce qemu_get_peer
vhost-vdpa: introduce vhost-vdpa net client
vhost-vdpa: implement vhost-vdpa backend
Jason Wang (1):
vhost: introduce vhost_set_vring_ready method
hw/net/vhost_net-stub.c | 5 +
hw/net/vhost_net.c | 75 +++++-
hw/net/virtio-net.c | 9 +
hw/virtio/Makefile.objs | 2 +-
hw/virtio/vhost-backend.c | 3 +
hw/virtio/vhost-vdpa.c | 376 ++++++++++++++++++++++++++++++
hw/virtio/vhost.c | 5 +
hw/virtio/virtio-pci.c | 13 ++
hw/virtio/virtio.c | 6 +
include/hw/virtio/vhost-backend.h | 8 +-
include/hw/virtio/vhost-vdpa.h | 14 ++
include/hw/virtio/virtio-bus.h | 4 +
include/net/net.h | 1 +
include/net/vhost-vdpa.h | 18 ++
include/net/vhost_net.h | 2 +
net/Makefile.objs | 2 +-
net/clients.h | 2 +
net/net.c | 7 +
net/vhost-vdpa.c | 211 +++++++++++++++++
qapi/net.json | 21 +-
20 files changed, 773 insertions(+), 11 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