vmsilo fork of vhost rust libraries
Find a file
Sebastien Boeuf cebfa3cd78 lib: Implement VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS
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>
2021-03-12 11:33:57 +01:00
rust-vmm-ci@ebc701641f Add reference to rust-vmm-ci submodule 2021-02-25 18:09:42 +01:00
src lib: Implement VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS 2021-03-12 11:33:57 +01:00
.gitmodules Initial commit 2020-09-17 13:51:21 +03:00
Cargo.toml Cargo.toml: Update vhost crate name 2021-03-12 11:33:57 +01:00
CODEOWNERS Add sboeuf to CODEOWNERS 2020-11-26 13:35:59 +01:00
coverage_config.json Initial commit 2020-09-17 13:51:21 +03:00
LICENSE Rename LICENSE-APACHE to LICENSE 2020-11-25 17:01:17 +01:00
README.md Update README.md 2020-11-25 17:01:17 +01:00

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.