|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
41 #define vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__)
48 #define foreach_vpe_api_msg \
49 _(CREATE_VHOST_USER_IF, create_vhost_user_if) \
50 _(MODIFY_VHOST_USER_IF, modify_vhost_user_if) \
51 _(CREATE_VHOST_USER_IF_V2, create_vhost_user_if_v2) \
52 _(MODIFY_VHOST_USER_IF_V2, modify_vhost_user_if_v2) \
53 _(DELETE_VHOST_USER_IF, delete_vhost_user_if) \
54 _(SW_INTERFACE_VHOST_USER_DUMP, sw_interface_vhost_user_dump)
63 u64 disabled_features = (
u64) (0ULL);
123 vl_api_modify_vhost_user_if_reply_t *rmp;
124 u64 disabled_features = (
u64) (0ULL);
162 u64 disabled_features = (
u64) (0ULL);
171 disabled_features |=
VIRTIO_FEATURE (VIRTIO_RING_F_INDIRECT_DESC);
223 vl_api_modify_vhost_user_if_v2_reply_t *rmp;
224 u64 disabled_features = (
u64) (0ULL);
252 REPLY_MACRO (VL_API_MODIFY_VHOST_USER_IF_V2_REPLY);
259 vl_api_delete_vhost_user_if_reply_t *rmp;
289 mp->_vl_msg_id =
ntohs (VL_API_SW_INTERFACE_VHOST_USER_DETAILS);
318 u32 filter_sw_if_index;
325 if (filter_sw_if_index != ~0)
334 if ((filter_sw_if_index == ~0) ||
349 #define vl_msg_name_crc_list
351 #undef vl_msg_name_crc_list
356 #define _(id,n,crc) vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id);
357 foreach_vl_msg_name_crc_vhost_user;
367 vl_msg_api_set_handlers(VL_API_##N, #n, \
368 vl_api_##n##_t_handler, \
370 vl_api_##n##_t_endian, \
371 vl_api_##n##_t_print, \
372 sizeof(vl_api_##n##_t), 1);
377 am->is_mp_safe[VL_API_CREATE_VHOST_USER_IF] = 1;
378 am->is_mp_safe[VL_API_CREATE_VHOST_USER_IF_V2] = 1;
static void vl_api_create_vhost_user_if_t_handler(vl_api_create_vhost_user_if_t *mp)
vl_api_interface_index_t sw_if_index
#define VALIDATE_SW_IF_INDEX(mp)
static vl_api_registration_t * vl_api_client_index_to_registration(u32 index)
#define foreach_vpe_api_msg
void virtio_features_encode(u64 features, u32 *first, u32 *last)
vhost-user interface create request
vl_api_interface_index_t sw_if_index
vl_api_interface_index_t sw_if_index
vhost-user interface create response
#define REPLY_MACRO2(t, body)
vl_api_virtio_net_features_last_32_t features_last_32
static void vl_api_send_msg(vl_api_registration_t *rp, u8 *elem)
int vhost_user_dump_ifs(vnet_main_t *vnm, vlib_main_t *vm, vhost_user_intf_details_t **out_vuids)
string sock_filename[256]
static void vl_api_sw_interface_vhost_user_dump_t_handler(vl_api_sw_interface_vhost_user_dump_t *mp)
vl_api_interface_index_t sw_if_index
static clib_error_t * vhost_user_api_hookup(vlib_main_t *vm)
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
#define VIRTIO_FEATURE(X)
vhost-user interface modify request
string interface_name[64]
vhost-user interface modify request
static void setup_message_id_table(api_main_t *am)
static void vl_api_modify_vhost_user_if_t_handler(vl_api_modify_vhost_user_if_t *mp)
vnet_main_t * vnet_get_main(void)
#define FEATURE_VIRTIO_NET_F_HOST_GUEST_TSO_FEATURE_BITS
vl_api_interface_index_t sw_if_index
An API client registration, only in vpp/vlib.
vl_api_interface_index_t sw_if_index
vl_api_virtio_net_features_first_32_t features_first_32
static api_main_t * vlibapi_get_main(void)
static void vnet_set_sw_interface_tag(vnet_main_t *vnm, u8 *tag, u32 sw_if_index)
vl_api_mac_address_t mac_address
bool disable_indirect_desc
string sock_filename[256]
#define BAD_SW_IF_INDEX_LABEL
API main structure, used by both vpp and binary API clients.
#define vec_free(V)
Free vector's memory (no header).
string sock_filename[256]
description fragment has unexpected format
static void send_sw_interface_vhost_user_details(vpe_api_main_t *am, vl_api_registration_t *reg, vhost_user_intf_details_t *vui, u32 context)
string sock_filename[256]
string sock_filename[256]
static void vnet_clear_sw_interface_tag(vnet_main_t *vnm, u32 sw_if_index)
#define vec_foreach(var, vec)
Vector iterator.
void mac_address_decode(const u8 *in, mac_address_t *out)
Conversion functions to/from (decode/encode) API types to VPP internal types.
int vhost_user_modify_if(vnet_main_t *vnm, vlib_main_t *vm, vhost_user_create_if_args_t *args)
bool disable_indirect_desc
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
vhost-user interface delete request
static vlib_main_t * vlib_get_main(void)
vhost-user interface create request
vl_api_mac_address_t mac_address
Vhost-user interface details structure (fix this)
static void vl_api_delete_vhost_user_if_t_handler(vl_api_delete_vhost_user_if_t *mp)
static void vl_api_create_vhost_user_if_v2_t_handler(vl_api_create_vhost_user_if_v2_t *mp)
static void vl_api_modify_vhost_user_if_v2_t_handler(vl_api_modify_vhost_user_if_v2_t *mp)
int vhost_user_delete_if(vnet_main_t *vnm, vlib_main_t *vm, u32 sw_if_index)
VLIB_API_INIT_FUNCTION(vhost_user_api_hookup)
vhost-user interface create response
Vhost-user interface dump request.
vl_api_interface_index_t sw_if_index
vl_api_interface_index_t sw_if_index[default=0xffffffff]
int vhost_user_create_if(vnet_main_t *vnm, vlib_main_t *vm, vhost_user_create_if_args_t *args)
vpe_api_main_t vpe_api_main
void * vl_msg_api_alloc(int nbytes)