On Tue, Dec 05, 2017 at 11:33:09AM +0800, Wei Wang wrote: > Vhost-pci is a point-to-point based inter-VM communication solution. This > patch series implements the vhost-pci-net device setup and emulation. The > device is implemented as a virtio device, and it is set up via the > vhost-user protocol to get the neessary info (e.g the memory info of the > remote VM, vring info). > > Currently, only the fundamental functions are implemented. More features, > such as MQ and live migration, will be updated in the future. > > The DPDK PMD of vhost-pci has been posted to the dpdk mailinglist here: > http://dpdk.org/ml/archives/dev/2017-November/082615.html > > v2->v3 changes: > 1) static device creation: instead of creating and hot-plugging the > device when receiving a vhost-user msg, the device is not created > via the qemu booting command line. > 2) remove vqs: rq and ctrlq are removed in this version. > - receive vq: the receive vq is not needed anymore. The PMD directly > shares the remote txq and rxq - grab from remote txq to > receive packets, and put to rxq to send packets. > - ctrlq: the ctrlq is replaced by the first 4KB metadata area of the > device Bar-2. > 3) simpler implementation: the entire implementation has been tailored > from ~1800 LOC to ~850 LOC.
Pls always include full change log, so pls add v1->v2 as well. Also pls include the link to the spec you posted previously (not required to be 100% in sync, but pls list main differences). > Wei Wang (7): > vhost-user: share the vhost-user protocol related structures > vhost-pci-net: add vhost-pci-net > virtio/virtio-pci.c: add vhost-pci-net-pci > vhost-pci-slave: add vhost-pci slave implementation > vhost-user: VHOST_USER_SET_VHOST_PCI msg > vhost-pci-slave: handle VHOST_USER_SET_VHOST_PCI > virtio/vhost.c: vhost-pci needs remote gpa > > hw/net/Makefile.objs | 2 +- > hw/net/vhost_net.c | 37 +++ > hw/net/vhost_pci_net.c | 137 +++++++++++ > hw/virtio/Makefile.objs | 1 + > hw/virtio/vhost-pci-slave.c | 310 > +++++++++++++++++++++++++ > hw/virtio/vhost-user.c | 117 ++-------- > hw/virtio/vhost.c | 63 +++-- > hw/virtio/virtio-pci.c | 55 +++++ > hw/virtio/virtio-pci.h | 14 ++ > include/hw/pci/pci.h | 1 + > include/hw/virtio/vhost-backend.h | 2 + > include/hw/virtio/vhost-pci-net.h | 42 ++++ > include/hw/virtio/vhost-pci-slave.h | 12 + > include/hw/virtio/vhost-user.h | 108 +++++++++ > include/hw/virtio/vhost.h | 2 + > include/net/vhost_net.h | 2 + > include/standard-headers/linux/vhost_pci_net.h | 65 ++++++ > include/standard-headers/linux/virtio_ids.h | 1 + > 18 files changed, 851 insertions(+), 120 deletions(-) > create mode 100644 hw/net/vhost_pci_net.c > create mode 100644 hw/virtio/vhost-pci-slave.c > create mode 100644 include/hw/virtio/vhost-pci-net.h > create mode 100644 include/hw/virtio/vhost-pci-slave.h > create mode 100644 include/hw/virtio/vhost-user.h > create mode 100644 include/standard-headers/linux/vhost_pci_net.h > > -- > 2.7.4