FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
node.c File Reference
+ Include dependency graph for node.c:

Go to the source code of this file.

Data Structures

struct  memif_input_trace_t
 

Macros

#define foreach_memif_input_error
 

Enumerations

enum  memif_input_error_t { MEMIF_INPUT_N_ERROR }
 

Functions

static __clib_unused u8format_memif_input_trace (u8 *s, va_list *args)
 
static_always_inline u32 memif_next_from_ip_hdr (vlib_node_runtime_t *node, vlib_buffer_t *b)
 
static_always_inline void memif_trace_buffer (vlib_main_t *vm, vlib_node_runtime_t *node, memif_if_t *mif, vlib_buffer_t *b, u32 next, u16 qid, uword *n_tracep)
 
static_always_inline void memif_add_copy_op (memif_per_thread_data_t *ptd, void *data, u32 len, u16 buffer_offset, u16 buffer_vec_index)
 
static_always_inline void memif_add_to_chain (vlib_main_t *vm, vlib_buffer_t *b, u32 *buffers, u32 buffer_size)
 
static_always_inline uword memif_device_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, memif_if_t *mif, memif_ring_type_t type, u16 qid, memif_interface_mode_t mode)
 
static_always_inline uword memif_device_input_zc_inline (vlib_main_t *vm, vlib_node_runtime_t *node, memif_if_t *mif, u16 qid, memif_interface_mode_t mode)
 
VLIB_NODE_FN() memif_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 

Variables

static vlib_error_desc_t memif_input_error_counters []
 
vlib_node_registration_t memif_input_node
 (constructor) VLIB_REGISTER_NODE (memif_input_node) More...
 

Macro Definition Documentation

◆ foreach_memif_input_error

#define foreach_memif_input_error
Value:
_ (BUFFER_ALLOC_FAIL, buffer_alloc, ERROR, "buffer allocation failed") \
_ (BAD_DESC, bad_desc, ERROR, "bad descriptor") \
_ (NOT_IP, not_ip, INFO, "not ip packet")

Definition at line 33 of file node.c.

Enumeration Type Documentation

◆ memif_input_error_t

Enumerator
MEMIF_INPUT_N_ERROR 

Definition at line 38 of file node.c.

Function Documentation

◆ format_memif_input_trace()

static __clib_unused u8* format_memif_input_trace ( u8 s,
va_list *  args 
)
static

Definition at line 60 of file node.c.

+ Here is the call graph for this function:

◆ memif_add_copy_op()

static_always_inline void memif_add_copy_op ( memif_per_thread_data_t ptd,
void *  data,
u32  len,
u16  buffer_offset,
u16  buffer_vec_index 
)

Definition at line 107 of file node.c.

+ Here is the caller graph for this function:

◆ memif_add_to_chain()

static_always_inline void memif_add_to_chain ( vlib_main_t vm,
vlib_buffer_t b,
u32 buffers,
u32  buffer_size 
)

Definition at line 119 of file node.c.

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

◆ memif_device_input_inline()

static_always_inline uword memif_device_input_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
memif_if_t mif,
memif_ring_type_t  type,
u16  qid,
memif_interface_mode_t  mode 
)

Definition at line 144 of file node.c.

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

◆ memif_device_input_zc_inline()

static_always_inline uword memif_device_input_zc_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
memif_if_t mif,
u16  qid,
memif_interface_mode_t  mode 
)

Definition at line 521 of file node.c.

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

◆ memif_input_node()

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

Definition at line 830 of file node.c.

+ Here is the call graph for this function:

◆ memif_next_from_ip_hdr()

static_always_inline u32 memif_next_from_ip_hdr ( vlib_node_runtime_t node,
vlib_buffer_t b 
)

Definition at line 75 of file node.c.

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

◆ memif_trace_buffer()

static_always_inline void memif_trace_buffer ( vlib_main_t vm,
vlib_node_runtime_t node,
memif_if_t mif,
vlib_buffer_t b,
u32  next,
u16  qid,
uword n_tracep 
)

Definition at line 90 of file node.c.

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

Variable Documentation

◆ memif_input_error_counters

vlib_error_desc_t memif_input_error_counters[]
static
Initial value:
= {
#define _(f, n, s, d)
}

Definition at line 46 of file node.c.

◆ memif_input_node

vlib_node_registration_t memif_input_node
Initial value:
= {
.name = "memif-input",
.sibling_of = "device-input",
.format_trace = format_memif_input_trace,
.state = VLIB_NODE_STATE_INTERRUPT,
.n_errors = MEMIF_INPUT_N_ERROR,
.error_counters = memif_input_error_counters,
}

(constructor) VLIB_REGISTER_NODE (memif_input_node)

Definition at line 884 of file node.c.

format_memif_input_trace
static __clib_unused u8 * format_memif_input_trace(u8 *s, va_list *args)
Definition: node.c:60
INFO
#define INFO(...)
Definition: main.c:64
foreach_memif_input_error
#define foreach_memif_input_error
Definition: node.c:33
VLIB_NODE_TYPE_INPUT
@ VLIB_NODE_TYPE_INPUT
Definition: node.h:76
VLIB_NODE_FLAG_TRACE_SUPPORTED
#define VLIB_NODE_FLAG_TRACE_SUPPORTED
Definition: node.h:295
memif_input_error_counters
static vlib_error_desc_t memif_input_error_counters[]
Definition: node.c:46
MEMIF_INPUT_N_ERROR
@ MEMIF_INPUT_N_ERROR
Definition: node.c:43