Inter-VM device emulation (call on Mon 20th July 2020)

Stefan Hajnoczi
2020-07-15T11:24:03Z

[-- Attachment #1: Type: text/plain, Size: 1758 bytes --]

Hi,
Several projects are underway to create an inter-VM device emulation
interface:

* ivshmem v2
https://www.mail-archive.com/qemu-devel@nongnu.org/msg706465.html

A PCI device that provides shared-memory communication between VMs.
This device already exists but is limited in its current form. The
"v2" project updates IVSHMEM's capabilities and makes it suitable as
a VIRTIO transport.

Jan Kiszka is working on this and has posted specs for review.

* virtio-vhost-user
https://www.mail-archive.com/virtio-dev@lists.oasis-open.org/msg06429.html

A VIRTIO device that transports the vhost-user protocol. Allows
vhost-user device emulation to be implemented by another VM.

Nikos Dragazis is working on this with QEMU, DPDK, and VIRTIO patches
posted.

* VFIO-over-socket
https://github.com/tmakatos/qemu/blob/master/docs/devel/vfio-over-socket.rst

Similar to the vhost-user protocol in spirit but for any PCI device.
Uses the Linux VFIO ioctl API as the protocol instead of vhost.

It doesn't have a virtio-vhost-user equivalent yet, but the same
approach could be applied to VFIO-over-socket too.

Thanos Makatos and John G. Johnson are working on this. The draft
spec is available.

Let's have a call to figure out:

1. What is unique about these approaches and how do they overlap?
2. Can we focus development and code review efforts to get something
merged sooner?

Jan and Nikos: do you have time to join on Monday, 20th of July at 15:00
UTC?
https://www.timeanddate.com/worldclock/fixedtime.html?iso=20200720T1500

Video call URL: https://bluejeans.com/240406010

It would be nice if Thanos and/or JJ could join the call too. Others
welcome too (feel free to forward this email)!

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]