This repository offers a user space device model, implemented in the Rust programming language, enabling integration of various VirtIO device types within the Bao hypervisor across diverse Virtual Machines (VMs), ranging from common VirtIO devices to Vhost and Vhost-user backend devices.
To begin utilizing VirtIO device support in Bao Hypervisor, follow these steps:
- Clone this repository to your local environment.
git clone git@github.com:joaopeixoto13/bao-virtio-dm.git
- Build the source code (e.g. Aarch64):
cargo build --target=aarch64-unknown-linux-gnu --release
The full list of supported (and work in progress) devices is presented below:
DEVICE | DATAPLANE | SUPPORTED | |
---|---|---|---|
Virtio-Block | Block | VirtIO | x |
Vhost-User-Fs | Virtual File System | Vhost-user | x |
Virtio-Net | Net | VirtIO | x |
Vhost-Net | Net | Vhost | - |
Virtio-Vsock | Vsock | VirtIO | - |
Vhost-Vsock | Vsock | Vhost | x |
Vhost-User-Vsock | Vsock | Vhost-user | x |
Contributions to enhance the functionality and features of Bao Hypervisor VirtIO Device Support are welcome. If you have suggestions, bug fixes, or new features to propose, feel free to open an issue or submit a pull request.