On 01/19/2018 09:06 PM, Stefan Hajnoczi wrote:
These patches implement the virtio-vhost-user device design that I have
described here:
https://stefanha.github.io/virtio/vhost-user-slave.html#x1-2830007
configure | 18 +
hw/virtio/Makefile.objs | 1 +
hw/virtio/virtio-pci.h | 21 +
include/hw/pci/pci.h | 1 +
include/hw/virtio/vhost-user.h | 106 +++
include/hw/virtio/virtio-vhost-user.h | 88 +++
include/standard-headers/linux/virtio_ids.h | 1 +
hw/virtio/vhost-user.c | 100 +--
hw/virtio/virtio-pci.c | 61 ++
hw/virtio/virtio-vhost-user.c | 1047 +++++++++++++++++++++++++++
hw/virtio/trace-events | 22 +
11 files changed, 1367 insertions(+), 99 deletions(-)
create mode 100644 include/hw/virtio/vhost-user.h
create mode 100644 include/hw/virtio/virtio-vhost-user.h
create mode 100644 hw/virtio/virtio-vhost-user.c
Thanks for the quick implementation. Not sure if the following issues
could be solved with this approach:
- After we boot the slave VM, if we don't run the virtio-vhost-user
driver (i.e. testpmd), then the master VM couldn't boot, because the
booting of the virtio-net device relies on a negotiation with the
virtio-vhost-user driver.
- Suppose in the future there is also a kernel virtio-vhost-user
driver as other PCI devices, can we unbind the kernel driver first, and
then bind the device to the dpdk driver? A normal PCI device should be
able to smoothly switch between the kernel driver and dpdk driver.
Best,
Wei