FD.io VPP  v19.08-27-gf4dcae4
Vector Packet Processing
device.c File Reference
+ Include dependency graph for device.c:

Go to the source code of this file.

Macros

#define foreach_virtio_tx_func_error
 

Enumerations

enum  virtio_tx_func_error_t { VIRTIO_TX_N_ERROR }
 

Functions

u8format_virtio_device_name (u8 *s, va_list *args)
 
static u8format_virtio_device (u8 *s, va_list *args)
 
static u8format_virtio_tx_trace (u8 *s, va_list *args)
 
static_always_inline void virtio_free_used_device_desc (vlib_main_t *vm, virtio_vring_t *vring)
 
static_always_inline u16 add_buffer_to_slot (vlib_main_t *vm, virtio_if_t *vif, virtio_vring_t *vring, u32 bi, u16 avail, u16 next, u16 mask, int do_gso)
 
static_always_inline uword virtio_interface_tx_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, virtio_if_t *vif, int do_gso)
 
VNET_DEVICE_CLASS_TX_FN() virtio_device_class (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static void virtio_set_interface_next_node (vnet_main_t *vnm, u32 hw_if_index, u32 node_index)
 
static void virtio_clear_hw_interface_counters (u32 instance)
 
static clib_error_tvirtio_interface_rx_mode_change (vnet_main_t *vnm, u32 hw_if_index, u32 qid, vnet_hw_interface_rx_mode mode)
 
static clib_error_tvirtio_interface_admin_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags)
 
static clib_error_tvirtio_subif_add_del_function (vnet_main_t *vnm, u32 hw_if_index, struct vnet_sw_interface_t *st, int is_add)
 
 VNET_DEVICE_CLASS (virtio_device_class)
 

Variables

static char * virtio_tx_func_error_strings []
 

Macro Definition Documentation

#define foreach_virtio_tx_func_error
Value:
_(NO_FREE_SLOTS, "no free tx slots") \
_(TRUNC_PACKET, "packet > buffer size -- truncated in tx ring") \
_(PENDING_MSGS, "pending msgs in tx ring") \
_(NO_TX_QUEUES, "no tx queues")

Definition at line 29 of file device.c.

Enumeration Type Documentation

Enumerator
VIRTIO_TX_N_ERROR 

Definition at line 35 of file device.c.

Function Documentation

static_always_inline u16 add_buffer_to_slot ( vlib_main_t vm,
virtio_if_t vif,
virtio_vring_t vring,
u32  bi,
u16  avail,
u16  next,
u16  mask,
int  do_gso 
)

Definition at line 139 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8* format_virtio_device ( u8 s,
va_list *  args 
)
static

Definition at line 71 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_virtio_device_name ( u8 s,
va_list *  args 
)

Definition at line 51 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8* format_virtio_tx_trace ( u8 s,
va_list *  args 
)
static

Definition at line 87 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void virtio_clear_hw_interface_counters ( u32  instance)
static

Definition at line 367 of file device.c.

+ Here is the caller graph for this function:

VNET_DEVICE_CLASS_TX_FN() virtio_device_class ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 330 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline void virtio_free_used_device_desc ( vlib_main_t vm,
virtio_vring_t vring 
)

Definition at line 94 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* virtio_interface_admin_up_down ( vnet_main_t vnm,
u32  hw_if_index,
u32  flags 
)
static

Definition at line 396 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* virtio_interface_rx_mode_change ( vnet_main_t vnm,
u32  hw_if_index,
u32  qid,
vnet_hw_interface_rx_mode  mode 
)
static

Definition at line 373 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline uword virtio_interface_tx_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
virtio_if_t vif,
int  do_gso 
)

Definition at line 267 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void virtio_set_interface_next_node ( vnet_main_t vnm,
u32  hw_if_index,
u32  node_index 
)
static

Definition at line 347 of file device.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* virtio_subif_add_del_function ( vnet_main_t vnm,
u32  hw_if_index,
struct vnet_sw_interface_t st,
int  is_add 
)
static

Definition at line 411 of file device.c.

+ Here is the call graph for this function:

VNET_DEVICE_CLASS ( virtio_device_class  )

Variable Documentation

char* virtio_tx_func_error_strings[]
static
Initial value:
= {
#define _(n,s)
}
#define foreach_virtio_tx_func_error
Definition: device.c:29

Definition at line 43 of file device.c.