FD.io VPP  v20.09-rc2-28-g3c5414029
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) + (copy ? sizeof(vlib_buffer_t) : 0))
 
#define addr2bi(addr)   (((addr) - (copy ? sizeof(vlib_buffer_t) : 0)) >> 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 (vlib_main_t *vm, const vlib_node_runtime_t *node, af_xdp_device_t *ad, af_xdp_rxq_t *rxq, const int copy)
 
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, const int copy)
 
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, const int copy)
 
VLIB_NODE_FN() af_xdp_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 

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) - (copy ? sizeof(vlib_buffer_t) : 0)) >> CLIB_LOG2_CACHE_LINE_BYTES)

◆ bi2addr

#define bi2addr (   bi)    (((bi) << CLIB_LOG2_CACHE_LINE_BYTES) + (copy ? sizeof(vlib_buffer_t) : 0))

◆ foreach_af_xdp_input_error

#define foreach_af_xdp_input_error
Value:
_(POLL_REQUIRED, "poll required") \
_(POLL_FAILURES, "poll failures")

Definition at line 26 of file input.c.

Enumeration Type Documentation

◆ af_xdp_input_error_t

Enumerator
AF_XDP_INPUT_N_ERROR 

Definition at line 30 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,
const int  copy 
)

Definition at line 211 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 188 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,
const int  copy 
)

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

static_always_inline void af_xdp_device_input_refill ( vlib_main_t vm,
const vlib_node_runtime_t node,
af_xdp_device_t ad,
af_xdp_rxq_t rxq,
const int  copy 
)

Definition at line 101 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 74 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 45 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 323 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)
}
#define foreach_af_xdp_input_error
Definition: input.c:26

Definition at line 38 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,
}
#define VLIB_NODE_FLAG_TRACE_SUPPORTED
Definition: node.h:305
static __clib_unused char * af_xdp_input_error_strings[]
Definition: input.c:38
format_function_t format_af_xdp_input_trace
Definition: af_xdp.h:151

(constructor) VLIB_REGISTER_NODE (af_xdp_input_node)

Definition at line 349 of file input.c.