Enum vmm_vhost::message::FrontendReq
source · #[repr(u32)]pub enum FrontendReq {
Show 43 variants
GET_FEATURES = 1,
SET_FEATURES = 2,
SET_OWNER = 3,
RESET_OWNER = 4,
SET_MEM_TABLE = 5,
SET_LOG_BASE = 6,
SET_LOG_FD = 7,
SET_VRING_NUM = 8,
SET_VRING_ADDR = 9,
SET_VRING_BASE = 10,
GET_VRING_BASE = 11,
SET_VRING_KICK = 12,
SET_VRING_CALL = 13,
SET_VRING_ERR = 14,
GET_PROTOCOL_FEATURES = 15,
SET_PROTOCOL_FEATURES = 16,
GET_QUEUE_NUM = 17,
SET_VRING_ENABLE = 18,
SEND_RARP = 19,
NET_SET_MTU = 20,
SET_BACKEND_REQ_FD = 21,
IOTLB_MSG = 22,
SET_VRING_ENDIAN = 23,
GET_CONFIG = 24,
SET_CONFIG = 25,
CREATE_CRYPTO_SESSION = 26,
CLOSE_CRYPTO_SESSION = 27,
POSTCOPY_ADVISE = 28,
POSTCOPY_LISTEN = 29,
POSTCOPY_END = 30,
GET_INFLIGHT_FD = 31,
SET_INFLIGHT_FD = 32,
GPU_SET_SOCKET = 33,
RESET_DEVICE = 34,
VRING_KICK = 35,
GET_MAX_MEM_SLOTS = 36,
ADD_MEM_REG = 37,
REM_MEM_REG = 38,
SET_STATUS = 39,
GET_STATUS = 40,
SET_DEVICE_STATE_FD = 42,
CHECK_DEVICE_STATE = 43,
GET_SHARED_MEMORY_REGIONS = 1_004,
}
Expand description
Type of requests sent to the backend.
These are called “front-end message types” in the spec, so we call them FrontendReq
here even
though it is somewhat confusing that the BackendClient
sends FrontendReq
s to a
BackendServer
.
Variants§
GET_FEATURES = 1
Get from the underlying vhost implementation the features bit mask.
SET_FEATURES = 2
Enable features in the underlying vhost implementation using a bit mask.
SET_OWNER = 3
Set the current frontend as an owner of the session.
RESET_OWNER = 4
No longer used.
SET_MEM_TABLE = 5
Set the memory map regions on the backend so it can translate the vring addresses.
SET_LOG_BASE = 6
Set logging shared memory space.
SET_LOG_FD = 7
Set the logging file descriptor, which is passed as ancillary data.
SET_VRING_NUM = 8
Set the size of the queue.
SET_VRING_ADDR = 9
Set the addresses of the different aspects of the vring.
SET_VRING_BASE = 10
Set the base offset in the available vring.
GET_VRING_BASE = 11
Get the available vring base offset.
SET_VRING_KICK = 12
Set the event file descriptor for adding buffers to the vring.
SET_VRING_CALL = 13
Set the event file descriptor to signal when buffers are used.
SET_VRING_ERR = 14
Set the event file descriptor to signal when error occurs.
GET_PROTOCOL_FEATURES = 15
Get the protocol feature bit mask from the underlying vhost implementation.
SET_PROTOCOL_FEATURES = 16
Enable protocol features in the underlying vhost implementation.
GET_QUEUE_NUM = 17
Query how many queues the backend supports.
SET_VRING_ENABLE = 18
Signal backend to enable or disable corresponding vring.
SEND_RARP = 19
Ask vhost user backend to broadcast a fake RARP to notify the migration is terminated for guest that does not support GUEST_ANNOUNCE.
NET_SET_MTU = 20
Set host MTU value exposed to the guest.
SET_BACKEND_REQ_FD = 21
Set the socket file descriptor for backend initiated requests.
IOTLB_MSG = 22
Send IOTLB messages with struct vhost_iotlb_msg as payload.
SET_VRING_ENDIAN = 23
Set the endianness of a VQ for legacy devices.
GET_CONFIG = 24
Fetch the contents of the virtio device configuration space.
SET_CONFIG = 25
Change the contents of the virtio device configuration space.
CREATE_CRYPTO_SESSION = 26
Create a session for crypto operation.
CLOSE_CRYPTO_SESSION = 27
Close a session for crypto operation.
POSTCOPY_ADVISE = 28
Advise backend that a migration with postcopy enabled is underway.
POSTCOPY_LISTEN = 29
Advise backend that a transition to postcopy mode has happened.
POSTCOPY_END = 30
Advise that postcopy migration has now completed.
GET_INFLIGHT_FD = 31
Get a shared buffer from backend.
SET_INFLIGHT_FD = 32
Send the shared inflight buffer back to backend.
GPU_SET_SOCKET = 33
Sets the GPU protocol socket file descriptor.
RESET_DEVICE = 34
Ask the vhost user backend to disable all rings and reset all internal device state to the initial state.
VRING_KICK = 35
Indicate that a buffer was added to the vring instead of signalling it using the vring’s kick file descriptor.
GET_MAX_MEM_SLOTS = 36
Return a u64 payload containing the maximum number of memory slots.
ADD_MEM_REG = 37
Update the memory tables by adding the region described.
REM_MEM_REG = 38
Update the memory tables by removing the region described.
SET_STATUS = 39
Notify the backend with updated device status as defined in the VIRTIO specification.
GET_STATUS = 40
Query the backend for its device status as defined in the VIRTIO specification.
SET_DEVICE_STATE_FD = 42
Front-end and back-end negotiate a channel over which to transfer the back-end’s internal state during migration.
CHECK_DEVICE_STATE = 43
After transferring the back-end’s internal state during migration, check whether the back-end was able to successfully fully process the state.
GET_SHARED_MEMORY_REGIONS = 1_004
Get a list of the device’s shared memory regions.
Implementations§
Trait Implementations§
source§impl Clone for FrontendReq
impl Clone for FrontendReq
source§fn clone(&self) -> FrontendReq
fn clone(&self) -> FrontendReq
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FrontendReq
impl Debug for FrontendReq
source§impl From<FrontendReq> for u32
impl From<FrontendReq> for u32
source§fn from(req: FrontendReq) -> u32
fn from(req: FrontendReq) -> u32
source§impl Ord for FrontendReq
impl Ord for FrontendReq
source§fn cmp(&self, other: &FrontendReq) -> Ordering
fn cmp(&self, other: &FrontendReq) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for FrontendReq
impl PartialEq for FrontendReq
source§fn eq(&self, other: &FrontendReq) -> bool
fn eq(&self, other: &FrontendReq) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for FrontendReq
impl PartialOrd for FrontendReq
source§fn partial_cmp(&self, other: &FrontendReq) -> Option<Ordering>
fn partial_cmp(&self, other: &FrontendReq) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more