FD.io VPP  v16.06
Vector Packet Processing
vhost-user.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vhost_user_memory_region
 
struct  vhost_user_memory
 
struct  vhost_vring_state_t
 
struct  vhost_vring_addr_t
 
struct  vhost_user_log
 
struct  vhost_user_msg
 
struct  vhost_user_vring_t
 
struct  vhost_user_intf_t
 
struct  vhost_user_main_t
 
struct  vhost_user_intf_details_t
 

Macros

#define VHOST_MEMORY_MAX_NREGIONS   8
 
#define VHOST_USER_MSG_HDR_SZ   12
 
#define VHOST_VRING_MAX_SIZE   32768
 
#define VHOST_NET_VRING_IDX_RX   0
 
#define VHOST_NET_VRING_IDX_TX   1
 
#define VHOST_NET_VRING_NUM   2
 
#define VIRTQ_DESC_F_NEXT   1
 
#define VHOST_USER_REPLY_MASK   (0x1 << 2)
 
#define VHOST_USER_PROTOCOL_F_MQ   0
 
#define VHOST_USER_PROTOCOL_F_LOG_SHMFD   1
 
#define VHOST_VRING_F_LOG   0
 
#define VHOST_USER_F_PROTOCOL_FEATURES   30
 
#define VHOST_USER_PROTOCOL_FEATURES
 
#define VIRTIO_NET_CTRL_MQ   4
 
#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET   0
 
#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN   1
 
#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX   0x8000
 
#define foreach_virtio_net_feature
 

Typedefs

typedef struct vhost_user_memory_region vhost_user_memory_region_t
 
typedef struct vhost_user_memory vhost_user_memory_t
 
typedef struct vhost_user_log vhost_user_log_t
 
typedef enum vhost_user_req vhost_user_req_t
 

Enumerations

enum  virtio_net_feature_t { foreach_virtio_net_feature }
 
enum  vhost_user_req {
  VHOST_USER_NONE = 0, VHOST_USER_GET_FEATURES = 1, VHOST_USER_SET_FEATURES = 2, VHOST_USER_SET_OWNER = 3,
  VHOST_USER_RESET_OWNER = 4, VHOST_USER_SET_MEM_TABLE = 5, VHOST_USER_SET_LOG_BASE = 6, VHOST_USER_SET_LOG_FD = 7,
  VHOST_USER_SET_VRING_NUM = 8, VHOST_USER_SET_VRING_ADDR = 9, VHOST_USER_SET_VRING_BASE = 10, VHOST_USER_GET_VRING_BASE = 11,
  VHOST_USER_SET_VRING_KICK = 12, VHOST_USER_SET_VRING_CALL = 13, VHOST_USER_SET_VRING_ERR = 14, VHOST_USER_GET_PROTOCOL_FEATURES = 15,
  VHOST_USER_SET_PROTOCOL_FEATURES = 16, VHOST_USER_GET_QUEUE_NUM = 17, VHOST_USER_SET_VRING_ENABLE = 18, VHOST_USER_MAX
}
 

Functions

int vhost_user_create_if (vnet_main_t *vnm, vlib_main_t *vm, const char *sock_filename, u8 is_server, u32 *sw_if_index, u64 feature_mask, u8 renumber, u32 custom_dev_instance, u8 *hwaddr)
 
int vhost_user_modify_if (vnet_main_t *vnm, vlib_main_t *vm, const char *sock_filename, u8 is_server, u32 sw_if_index, u64 feature_mask, u8 renumber, u32 custom_dev_instance)
 
int vhost_user_delete_if (vnet_main_t *vnm, vlib_main_t *vm, u32 sw_if_index)
 
int vhost_user_dump_ifs (vnet_main_t *vnm, vlib_main_t *vm, vhost_user_intf_details_t **out_vuids)
 
clib_error_tvhost_user_connect_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tvhost_user_delete_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tshow_vhost_user_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

vhost_user_req_t request
 
u32 flags
 
u32 size
 
union {
   u64   u64
 
   vhost_vring_state_t   state
 
   vhost_vring_addr_t   addr
 
   vhost_user_memory_t   memory
 
   vhost_user_log_t   log
 
}; 
 

Macro Definition Documentation

#define foreach_virtio_net_feature
Value:
_ (VIRTIO_NET_F_MRG_RXBUF, 15) \
_ (VIRTIO_F_ANY_LAYOUT, 27) \
_ (VHOST_F_LOG_ALL, 26) \
_ (VIRTIO_NET_F_GUEST_ANNOUNCE, 21) \
#define VHOST_USER_F_PROTOCOL_FEATURES
Definition: vhost-user.h:34

Definition at line 49 of file vhost-user.h.

#define VHOST_MEMORY_MAX_NREGIONS   8

Definition at line 19 of file vhost-user.h.

#define VHOST_NET_VRING_IDX_RX   0

Definition at line 22 of file vhost-user.h.

#define VHOST_NET_VRING_IDX_TX   1

Definition at line 23 of file vhost-user.h.

#define VHOST_NET_VRING_NUM   2

Definition at line 24 of file vhost-user.h.

#define VHOST_USER_F_PROTOCOL_FEATURES   30

Definition at line 34 of file vhost-user.h.

#define VHOST_USER_MSG_HDR_SZ   12

Definition at line 20 of file vhost-user.h.

#define VHOST_USER_PROTOCOL_F_LOG_SHMFD   1

Definition at line 30 of file vhost-user.h.

#define VHOST_USER_PROTOCOL_F_MQ   0

Definition at line 29 of file vhost-user.h.

#define VHOST_USER_PROTOCOL_FEATURES
Value:
#define VHOST_USER_PROTOCOL_F_LOG_SHMFD
Definition: vhost-user.h:30
#define VHOST_USER_PROTOCOL_F_MQ
Definition: vhost-user.h:29

Definition at line 36 of file vhost-user.h.

#define VHOST_USER_REPLY_MASK   (0x1 << 2)

Definition at line 27 of file vhost-user.h.

#define VHOST_VRING_F_LOG   0

Definition at line 31 of file vhost-user.h.

#define VHOST_VRING_MAX_SIZE   32768

Definition at line 21 of file vhost-user.h.

#define VIRTIO_NET_CTRL_MQ   4

Definition at line 43 of file vhost-user.h.

#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX   0x8000

Definition at line 46 of file vhost-user.h.

#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN   1

Definition at line 45 of file vhost-user.h.

#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET   0

Definition at line 44 of file vhost-user.h.

#define VIRTQ_DESC_F_NEXT   1

Definition at line 26 of file vhost-user.h.

Typedef Documentation

Enumeration Type Documentation

Enumerator
VHOST_USER_NONE 
VHOST_USER_GET_FEATURES 
VHOST_USER_SET_FEATURES 
VHOST_USER_SET_OWNER 
VHOST_USER_RESET_OWNER 
VHOST_USER_SET_MEM_TABLE 
VHOST_USER_SET_LOG_BASE 
VHOST_USER_SET_LOG_FD 
VHOST_USER_SET_VRING_NUM 
VHOST_USER_SET_VRING_ADDR 
VHOST_USER_SET_VRING_BASE 
VHOST_USER_GET_VRING_BASE 
VHOST_USER_SET_VRING_KICK 
VHOST_USER_SET_VRING_CALL 
VHOST_USER_SET_VRING_ERR 
VHOST_USER_GET_PROTOCOL_FEATURES 
VHOST_USER_SET_PROTOCOL_FEATURES 
VHOST_USER_GET_QUEUE_NUM 
VHOST_USER_SET_VRING_ENABLE 
VHOST_USER_MAX 

Definition at line 100 of file vhost-user.h.

Enumerator
foreach_virtio_net_feature 

Definition at line 57 of file vhost-user.h.

Function Documentation

clib_error_t* show_vhost_user_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)

Definition at line 1871 of file vhost-user.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vhost_user_connect_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)

Definition at line 1746 of file vhost-user.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vhost_user_create_if ( vnet_main_t vnm,
vlib_main_t vm,
const char *  sock_filename,
u8  is_server,
u32 sw_if_index,
u64  feature_mask,
u8  renumber,
u32  custom_dev_instance,
u8 hwaddr 
)

Definition at line 1654 of file vhost-user.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vhost_user_delete_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)

Definition at line 1794 of file vhost-user.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vhost_user_delete_if ( vnet_main_t vnm,
vlib_main_t vm,
u32  sw_if_index 
)

Definition at line 1449 of file vhost-user.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vhost_user_dump_ifs ( vnet_main_t vnm,
vlib_main_t vm,
vhost_user_intf_details_t **  out_vuids 
)

Definition at line 1821 of file vhost-user.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vhost_user_modify_if ( vnet_main_t vnm,
vlib_main_t vm,
const char *  sock_filename,
u8  is_server,
u32  sw_if_index,
u64  feature_mask,
u8  renumber,
u32  custom_dev_instance 
)

Definition at line 1700 of file vhost-user.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

union { ... }

Definition at line 78 of file vhost-user.h.

u32 flags

Definition at line 73 of file vhost-user.h.

Definition at line 80 of file vhost-user.h.

Definition at line 79 of file vhost-user.h.

Definition at line 72 of file vhost-user.h.

u32 size

Definition at line 74 of file vhost-user.h.

Definition at line 77 of file vhost-user.h.

Definition at line 76 of file vhost-user.h.