[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [PATCH 0/4] Introduce aux. notifications and virtio-vhost-user
Hi, This patch series introduces device and driver auxiliary notifications as a new set of virtio device resources, as well as vhost-user device backend that uses these resources. Driver auxiliary notifications allow the device to send notifications other than configuration changes and used buffer notifications to the driver, these are optional and their meaning is **device-specific**. Device auxiliary notifcations allow the driver to send notifcations other than available buffer notifications to the device for example through a device register, these are optional and their meaning is **device-specific**. These resources are used in the last patch by the virtio-vhost-user device in order to send/receive notifications to/from the driver regarding activity on the vhost-user virtqueues. By standardizing these resources as standalone virtio device resources, other future devices will be able to use them as well. The last patch introduces the vhost-user device backend which facilitates vhost-user device emulation through vhost-user protocol exchanges and access to shared memory. Software-defined networking, storage, and other I/O appliances can provide services through this device. This device is based on Wei Wang's vhost-pci work. The virtio-vhost-user device differs from vhost-pci because it is a single virtio device type that exposes the vhost-user protocol instead of a family of new virtio device types, one for each vhost-user device type. A HTML version with the changes is available at [1]. For more information about virtio-vhost-user, see [2]. These patches are based on the work initially done by Stefan Hajnoczi [2] and continued by Nikos Dragazis [3]. A lot of the content is from patches by Stefan and Nikos earlier [4]. (Hence, i have added their sign-offs in the patches, I hope thats ok) A working prototype implementing this spec can be reproduced using instructions in [5] utilizing work done on top of latest (at time of writing these patches) QEMU [6] and DPDK [7]. This is also based on the work initially done by Stefan and continued later by Nikos. The prototype code uses the terms "doorbell"/"device-specific notification" and "master"/"slave" instead of "device auxiliary notification"/"driver auxiliary notification" and "frontend"/"backend". This is based on older work, however, their functionality is the same. If these virtio-spec changes get approved, I will refractor the patches for QEMU/DPDK and send them for review according to the final patches in the respective mailing list. Please let me know if there is something that can be done from my side to make sure vhost-user is allowed to be referred to in virtio-spec. Thanks and looking forward to your response! Usama [1] https://uarif1.github.io/vvu/virtio-v1.1-cs01 [2] https://wiki.qemu.org/Features/VirtioVhostUser [3] https://ndragazis.github.io/dpdk-vhost-vvu-demo.html [4] https://lists.oasis-open.org/archives/virtio-dev/202005/msg00132.html [5] https://uarif1.github.io/vvu/dpdk-vvu-instructions [6] https://github.com/uarif1/qemu/tree/vvu [7] https://github.com/uarif1/dpdk/tree/vvu Usama Arif (4): content: Introduce driver/device auxiliary notifications content: Introduce driver/device aux. notification cfg type for PCI content: Introduce driver/device auxiliary notifications for MMIO vhost-user: add vhost-user device type conformance.tex | 29 ++++- content.tex | 195 +++++++++++++++++++++++++------ introduction.tex | 3 + virtio-vhost-user.tex | 259 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 448 insertions(+), 38 deletions(-) create mode 100644 virtio-vhost-user.tex -- 2.25.1
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]