FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
input.c File Reference
+ Include dependency graph for input.c:

Go to the source code of this file.

Macros

#define foreach_af_xdp_input_error
 
#define bi2addr(bi)   ((bi) << CLIB_LOG2_CACHE_LINE_BYTES)
 
#define addr2bi(addr)   ((addr) >> CLIB_LOG2_CACHE_LINE_BYTES)
 

Enumerations

enum  af_xdp_input_error_t { AF_XDP_INPUT_N_ERROR }
 

Functions

static_always_inline void af_xdp_device_input_trace (vlib_main_t *vm, vlib_node_runtime_t *node, u32 n_left, const u32 *bi, u32 next_index, u32 hw_if_index)
 
static_always_inline void af_xdp_device_input_refill_db (vlib_main_t *vm, const vlib_node_runtime_t *node, af_xdp_device_t *ad, af_xdp_rxq_t *rxq, const u32 n_alloc)
 
static_always_inline void af_xdp_device_input_refill_inline (vlib_main_t *vm, const vlib_node_runtime_t *node, af_xdp_device_t *ad, af_xdp_rxq_t *rxq)
 
static_always_inline void af_xdp_device_input_ethernet (vlib_main_t *vm, vlib_node_runtime_t *node, const u32 next_index, const u32 sw_if_index, const u32 hw_if_index)
 
static_always_inline u32 af_xdp_device_input_bufs (vlib_main_t *vm, const af_xdp_device_t *ad, af_xdp_rxq_t *rxq, u32 *bis, const u32 n_rx, vlib_buffer_t *bt, u32 idx)
 
static_always_inline uword af_xdp_device_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, af_xdp_device_t *ad, u16 qid)
 
VLIB_NODE_FN() af_xdp_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
void af_xdp_device_input_refill (af_xdp_device_t *ad)
 

Variables

static __clib_unused char * af_xdp_input_error_strings []
 
vlib_node_registration_t af_xdp_input_node
 (constructor) VLIB_REGISTER_NODE (af_xdp_input_node) More...
 

Macro Definition Documentation

◆ addr2bi

#define addr2bi (   addr)    ((addr) >> CLIB_LOG2_CACHE_LINE_BYTES)

◆ bi2addr

#define bi2addr (   bi)    ((bi) << CLIB_LOG2_CACHE_LINE_BYTES)

◆ foreach_af_xdp_input_error

#define foreach_af_xdp_input_error
Value:
_ (SYSCALL_REQUIRED, "syscall required") \
_ (SYSCALL_FAILURES, "syscall failures")

Definition at line 27 of file input.c.

Enumeration Type Documentation

◆ af_xdp_input_error_t

Enumerator
AF_XDP_INPUT_N_ERROR 

Definition at line 31 of file input.c.

Function Documentation

◆ af_xdp_device_input_bufs()

static_always_inline u32 af_xdp_device_input_bufs ( vlib_main_t vm,
const af_xdp_device_t ad,
af_xdp_rxq_t rxq,
u32 bis,
const u32  n_rx,
vlib_buffer_t bt,
u32  idx 
)

Definition at line 204 of file input.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ af_xdp_device_input_ethernet()

static_always_inline void af_xdp_device_input_ethernet ( vlib_main_t vm,
vlib_node_runtime_t node,
const u32  next_index,
const u32  sw_if_index,
const u32  hw_if_index 
)

Definition at line 181 of file input.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ af_xdp_device_input_inline()

static_always_inline uword af_xdp_device_input_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
af_xdp_device_t ad,
u16  qid 
)

Definition at line 282 of file input.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ af_xdp_device_input_refill()

void af_xdp_device_input_refill ( af_xdp_device_t ad)

Definition at line 347 of file input.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ af_xdp_device_input_refill_db()

static_always_inline void af_xdp_device_input_refill_db ( vlib_main_t vm,
const vlib_node_runtime_t node,
af_xdp_device_t ad,
af_xdp_rxq_t rxq,
const u32  n_alloc 
)

Definition at line 75 of file input.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ af_xdp_device_input_refill_inline()

static_always_inline void af_xdp_device_input_refill_inline ( vlib_main_t vm,
const vlib_node_runtime_t node,
af_xdp_device_t ad,
af_xdp_rxq_t rxq 
)

Definition at line 107 of file input.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ af_xdp_device_input_trace()

static_always_inline void af_xdp_device_input_trace ( vlib_main_t vm,
vlib_node_runtime_t node,
u32  n_left,
const u32 bi,
u32  next_index,
u32  hw_if_index 
)

Definition at line 46 of file input.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ af_xdp_input_node()

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

Definition at line 325 of file input.c.

+ Here is the call graph for this function:

Variable Documentation

◆ af_xdp_input_error_strings

__clib_unused char* af_xdp_input_error_strings[]
static
Initial value:
= {
#define _(n,s)
}

Definition at line 39 of file input.c.

◆ af_xdp_input_node

vlib_node_registration_t af_xdp_input_node
Initial value:
= {
.name = "af_xdp-input",
.sibling_of = "device-input",
.format_trace = format_af_xdp_input_trace,
.state = VLIB_NODE_STATE_DISABLED,
.n_errors = AF_XDP_INPUT_N_ERROR,
.error_strings = af_xdp_input_error_strings,
}

(constructor) VLIB_REGISTER_NODE (af_xdp_input_node)

Definition at line 357 of file input.c.

AF_XDP_INPUT_N_ERROR
@ AF_XDP_INPUT_N_ERROR
Definition: input.c:36
VLIB_NODE_TYPE_INPUT
@ VLIB_NODE_TYPE_INPUT
Definition: node.h:76
format_af_xdp_input_trace
format_function_t format_af_xdp_input_trace
Definition: af_xdp.h:175
foreach_af_xdp_input_error
#define foreach_af_xdp_input_error
Definition: input.c:27
VLIB_NODE_FLAG_TRACE_SUPPORTED
#define VLIB_NODE_FLAG_TRACE_SUPPORTED
Definition: node.h:295
af_xdp_input_error_strings
static __clib_unused char * af_xdp_input_error_strings[]
Definition: input.c:39