[](https://hercules-ci.com/github/cyberus-technology/usbvfiod/status)
# usbvfiod
**usbvfiod** is a Rust-based tool designed to enable USB device
passthrough to [Cloud
Hypervisor](https://github.com/cloud-hypervisor/cloud-hypervisor)
virtual machines using the [vfio-user
protocol](https://www.qemu.org/docs/master/interop/vfio-user.html). Other
VMMs might also work, but are currently not the main target.
This project is under active development. We are planning to work on this
project in the following order:
1. **Validating our Assumptions** (Done)
- We are looking for suitable libraries to use and finalize our design.
1. **Towards USB Storage Passthrough** (Done)
- We build up a virtual XHCI controller and the necessary plumbing
to pass-through USB devices from the host.
- Our initial test target will be USB storage devices.
1. **Broaden Device Support** (Done)
- We broaden the set of USB devices we support and actively test.
- Our current focus is enabling USB-2 devices and devices with interrupt
endpoints.
1. **Hotplug Devices** (Done)
- We enable attach and detach of exposed devices during runtime.
1. **Stability & Error Recovery** (Done)
- We seek out points where we currently panic but should not have to panic.
1. **Windows Guest Support** (🚧 **Ongoing** 🚧)
- Enable all features required for the Windows xHCI driver to interact with
devices through the controller.
1. **Everything Beyond**
- Many topics remain open. We stay flexible regarding upcoming features.
- Missing features include isochronous endpoint support, non-Linux Host
support, and support for other VMMs than Cloud Hypervisor.
If you want to use this code in production and need professional support,
please [get in touch](https://cyberus-technology.de/en/contact).
## Documentation
Find the overview of documentation [here](./docs/overview.md).
## Funding
This open-source project was developed within the *Edge Gateway Platform* project and is sponsored by **secunet Security Networks AG**.
This project has received public funding from the **European Union** NextGenerationEU within the Important Project of Common European Interest – Cloud Infrastructures and Services (IPCEI-CIS) under grant agreement 13IPC022.
<p align="center">
<img alt="Bundesministerium für Wirtschaft und Energie (BMWE)-EU and secunet funding logo" src="docs/images/logo_sponsored_funding_ic_sec.png" width="400"/>
</p>