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
>