OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[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]