FD.io VPP  v18.10-34-gcce845e
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_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, u16 *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_process_rx_burst (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_buffer_t *bt, avf_rx_vector_entry_t *rxve, vlib_buffer_t **b, u16 *next, u32 n_rxv, u8 maybe_error, int known_next)
 
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)
 
VLIB_NODE_FN() avf_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 

Variables

static __clib_unused char * avf_input_error_strings []
 
vlib_node_registration_t avf_input_node
 (constructor) VLIB_REGISTER_NODE (avf_input_node) More...
 

Macro Definition Documentation

#define AVF_INPUT_REFILL_TRESHOLD   32

Definition at line 48 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,
u16 next 
)

Definition at line 157 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 
)

Definition at line 320 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 173 of file input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

VLIB_NODE_FN() avf_input_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 514 of file input.c.

+ Here is the call graph for this function:

static_always_inline uword avf_process_rx_burst ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_buffer_t bt,
avf_rx_vector_entry_t rxve,
vlib_buffer_t **  b,
u16 next,
u32  n_rxv,
u8  maybe_error,
int  known_next 
)

Definition at line 189 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 50 of file input.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

__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:
= {
.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:224
static __clib_unused char * avf_input_error_strings[]
Definition: input.c:38

(constructor) VLIB_REGISTER_NODE (avf_input_node)

Definition at line 534 of file input.c.