Can QEMU and vhost-user devices be used on macOS and *BSD?
- Track: Virtualization and Cloud Infrastructure
- Room: UB4.132
- Day: Sunday
- Start: 11:00
- End: 11:30
- Video only: ub4132
- Chat: Join the conversation!
The vhost-user protocol is used to offload the emulation of a virtio device to a process that is external to the Virtual Machine Monitor (VMM). This approach offers several advantages: it enhances the isolation of device emulation, reducing the attack surface of the VMM; it allows for the use of different programming languages, enables daemon restarts in case of failures, and reduces the VMM's dependency on external libraries used just for the device emulation.
Originally developed for QEMU and Linux, the vhost-user protocol's flexibility has led to its adoption by other VMMs, facilitated particularly by the crates provided by the rust-vmm community. These crates have also been very useful for developing deamons for device emulation such as virtiofsd, vhost-device-vsock, and many others.
So far these devices have been developed to run only on Linux. This raises the question: can we extend their functionality to other POSIX systems, such as macOS or FreeBSD/OpenBSD?
In this talk, we will try to answer this question by analyzing the core components of vhost-user, the changes needed to QEMU, and the adjustments required for rust-vmm crates. We will also see some details about the work needed for some specific devices such as virtiofsd and vhost-user-vsock.
Speakers
Stefano Garzarella |