vmsilo fork of vhost rust libraries
Relying on latest vhost version, this commit implements VHOST_USER_GET_MAX_MEM_SLOTS, VHOST_USER_ADD_MEM_REG and VHOST_USER_REM_MEM_REG commands from the protocol feature VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS. VHOST_USER_GET_MAX_MEM_SLOTS provides the maximum amount of memory slots that can be supported by the vhost-user backend. VHOST_USER_ADD_MEM_REG lets the frontend provide a new memory region that must be mapped by the backend. VHOST_USER_REM_MEM_REG lets the frontend request for the removal of an existing memory region that must be unmapped by the backend. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> |
||
|---|---|---|
| rust-vmm-ci@ebc701641f | ||
| src | ||
| .gitmodules | ||
| Cargo.toml | ||
| CODEOWNERS | ||
| coverage_config.json | ||
| LICENSE | ||
| README.md | ||
vhost-user-backend
Design
This crate provides convenient abstractions for implementing vhost-user device server backends:
- A vhost-user backend trait (
VhostUserBackend) - A public API for the backend to interact with (
VhostUserDaemon) - An structure including virtio queue related elements (
Vring) - A worker for receiving queue events and forwarding them to the backend.
Usage
Users of this create are expected to implement the VhostUserBackend trait and to initialize the execution context by instantiating VhostUserDaemon and calling to its start method.