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

Go to the source code of this file.

Enumerations

enum  error_disposition_t { ERROR_DISPOSITION_DROP, ERROR_DISPOSITION_PUNT, ERROR_N_DISPOSITION }
 

Functions

static u8validate_error (vlib_main_t *vm, vlib_error_t *e, u32 index)
 
static u8validate_error_frame (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *f)
 
static u32 counter_index (vlib_main_t *vm, vlib_error_t e)
 
static u8format_error_trace (u8 *s, va_list *va)
 
static void trace_errors (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static_always_inline uword process_drop_punt (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, error_disposition_t disposition)
 
VLIB_NODE_FN() error_drop_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
VLIB_NODE_FN() error_punt_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 

Variables

vlib_node_registration_t error_drop_node
 (constructor) VLIB_REGISTER_NODE (error_drop_node) More...
 
vlib_node_registration_t error_punt_node
 (constructor) VLIB_REGISTER_NODE (error_punt_node) More...
 

Enumeration Type Documentation

◆ error_disposition_t

Enumerator
ERROR_DISPOSITION_DROP 
ERROR_DISPOSITION_PUNT 
ERROR_N_DISPOSITION 

Definition at line 20 of file drop.c.

Function Documentation

◆ counter_index()

static u32 counter_index ( vlib_main_t vm,
vlib_error_t  e 
)
inlinestatic

Definition at line 67 of file drop.c.

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

◆ error_drop_node()

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

Definition at line 243 of file drop.c.

+ Here is the call graph for this function:

◆ error_punt_node()

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

Definition at line 250 of file drop.c.

+ Here is the call graph for this function:

◆ format_error_trace()

static u8* format_error_trace ( u8 s,
va_list *  va 
)
static

Definition at line 84 of file drop.c.

+ Here is the call graph for this function:

◆ process_drop_punt()

static_always_inline uword process_drop_punt ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
error_disposition_t  disposition 
)

Definition at line 161 of file drop.c.

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

◆ trace_errors()

static void trace_errors ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 102 of file drop.c.

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

◆ validate_error()

static u8* validate_error ( vlib_main_t vm,
vlib_error_t e,
u32  index 
)
static

Definition at line 28 of file drop.c.

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

◆ validate_error_frame()

static u8* validate_error_frame ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t f 
)
static

Definition at line 47 of file drop.c.

+ Here is the call graph for this function:

Variable Documentation

◆ error_drop_node

vlib_node_registration_t error_drop_node
Initial value:
= {
.name = "drop",
.vector_size = sizeof (u32),
.format_trace = format_error_trace,
.validate_frame = validate_error_frame,
}

(constructor) VLIB_REGISTER_NODE (error_drop_node)

Definition at line 258 of file drop.c.

◆ error_punt_node

vlib_node_registration_t error_punt_node
Initial value:
= {
.name = "punt",
.vector_size = sizeof (u32),
.format_trace = format_error_trace,
.validate_frame = validate_error_frame,
}

(constructor) VLIB_REGISTER_NODE (error_punt_node)

Definition at line 268 of file drop.c.

VLIB_NODE_FLAG_FRAME_NO_FREE_AFTER_DISPATCH
#define VLIB_NODE_FLAG_FRAME_NO_FREE_AFTER_DISPATCH
Definition: node.h:282
validate_error_frame
static u8 * validate_error_frame(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *f)
Definition: drop.c:47
VLIB_NODE_FLAG_IS_DROP
#define VLIB_NODE_FLAG_IS_DROP
Definition: node.h:286
VLIB_NODE_FLAG_IS_PUNT
#define VLIB_NODE_FLAG_IS_PUNT
Definition: node.h:287
format_error_trace
static u8 * format_error_trace(u8 *s, va_list *va)
Definition: drop.c:84
u32
unsigned int u32
Definition: types.h:88