FD.io VPP  v18.04-17-g3a0d853
Vector Packet Processing
input.c File Reference
+ Include dependency graph for input.c:

Go to the source code of this file.

Macros

#define foreach_avf_input_error
 
#define AVF_RX_DESC_STATUS(x)   (1 << x)
 
#define AVF_RX_DESC_STATUS_DD   AVF_RX_DESC_STATUS(0)
 
#define AVF_RX_DESC_STATUS_EOP   AVF_RX_DESC_STATUS(1)
 
#define AVF_INPUT_REFILL_TRESHOLD   32
 

Enumerations

enum  avf_input_error_t { AVF_INPUT_N_ERROR }
 

Functions

static_always_inline void avf_input_trace (vlib_main_t *vm, vlib_node_runtime_t *node, u32 next0, vlib_buffer_t *b0, uword *n_trace, avf_device_t *ad, avf_rx_vector_entry_t *rxve)
 
static_always_inline void avf_rxq_refill (vlib_main_t *vm, vlib_node_runtime_t *node, avf_rxq_t *rxq, int use_iova)
 
static_always_inline void avf_check_for_error (vlib_node_runtime_t *node, avf_rx_vector_entry_t *rxve, vlib_buffer_t *b, u32 *next)
 
static_always_inline u32 avf_find_next (avf_rx_vector_entry_t *rxve, vlib_buffer_t *b, int maybe_tagged)
 
static_always_inline uword avf_device_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, avf_device_t *ad, u16 qid, int with_features_or_tracing)
 
uword CLIB_MULTIARCH_FN() avf_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static void __clib_constructor avf_input_multiarch_select (void)
 

Variables

static __clib_unused char * avf_input_error_strings []
 
vlib_node_registration_t avf_input_node
 (constructor) VLIB_REGISTER_NODE (avf_input_node) More...
 
vlib_node_function_t __clib_weak avf_input_avx512
 
vlib_node_function_t __clib_weak avf_input_avx2
 

Macro Definition Documentation

#define AVF_INPUT_REFILL_TRESHOLD   32

Definition at line 62 of file input.c.

#define AVF_RX_DESC_STATUS (   x)    (1 << x)

Definition at line 44 of file input.c.

#define AVF_RX_DESC_STATUS_DD   AVF_RX_DESC_STATUS(0)

Definition at line 45 of file input.c.

#define AVF_RX_DESC_STATUS_EOP   AVF_RX_DESC_STATUS(1)

Definition at line 46 of file input.c.

#define foreach_avf_input_error
Value:
_(BUFFER_ALLOC, "buffer alloc error") \
_(RX_PACKET_ERROR, "Rx packet errors")

Definition at line 26 of file input.c.

Enumeration Type Documentation

Enumerator
AVF_INPUT_N_ERROR 

Definition at line 30 of file input.c.

Function Documentation

static_always_inline void avf_check_for_error ( vlib_node_runtime_t node,
avf_rx_vector_entry_t rxve,
vlib_buffer_t b,
u32 next 
)

Definition at line 113 of file input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline uword avf_device_input_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
avf_device_t ad,
u16  qid,
int  with_features_or_tracing 
)

Definition at line 145 of file input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline u32 avf_find_next ( avf_rx_vector_entry_t rxve,
vlib_buffer_t b,
int  maybe_tagged 
)

Definition at line 129 of file input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword CLIB_MULTIARCH_FN() avf_input ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 379 of file input.c.

+ Here is the call graph for this function:

static void __clib_constructor avf_input_multiarch_select ( void  )
static

Definition at line 419 of file input.c.

static_always_inline void avf_input_trace ( vlib_main_t vm,
vlib_node_runtime_t node,
u32  next0,
vlib_buffer_t b0,
uword n_trace,
avf_device_t ad,
avf_rx_vector_entry_t rxve 
)

Definition at line 49 of file input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline void avf_rxq_refill ( vlib_main_t vm,
vlib_node_runtime_t node,
avf_rxq_t rxq,
int  use_iova 
)

Definition at line 64 of file input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

vlib_node_function_t __clib_weak avf_input_avx2

Definition at line 417 of file input.c.

vlib_node_function_t __clib_weak avf_input_avx512

Definition at line 416 of file input.c.

__clib_unused char* avf_input_error_strings[]
static
Initial value:
= {
#define _(n,s)
}
#define foreach_avf_input_error
Definition: input.c:26

Definition at line 38 of file input.c.

vlib_node_registration_t avf_input_node
Initial value:
= {
.function = avf_input,
.name = "avf-input",
.sibling_of = "device-input",
.format_trace = format_avf_input_trace,
.state = VLIB_NODE_STATE_DISABLED,
.n_errors = AVF_INPUT_N_ERROR,
.error_strings = avf_input_error_strings,
}
format_function_t format_avf_input_trace
Definition: avf.h:191
uword CLIB_MULTIARCH_FN() avf_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: input.c:379
static __clib_unused char * avf_input_error_strings[]
Definition: input.c:38

(constructor) VLIB_REGISTER_NODE (avf_input_node)

Definition at line 404 of file input.c.