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

Go to the source code of this file.

Data Structures

struct  l2_in_out_acl_main_t
 
struct  l2_in_out_acl_trace_t
 

Macros

#define foreach_l2_inacl_error
 
#define foreach_l2_outacl_error
 

Enumerations

enum  l2_inacl_error_t { L2_INACL_N_ERROR }
 
enum  l2_outacl_error_t { L2_OUTACL_N_ERROR }
 

Functions

static u8format_l2_in_out_acl_trace (u8 *s, u32 is_output, va_list *args)
 
static u8format_l2_inacl_trace (u8 *s, va_list *args)
 
static u8format_l2_outacl_trace (u8 *s, va_list *args)
 
static uword l2_in_out_acl_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int is_output)
 
VLIB_NODE_FN() l2_inacl_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
VLIB_NODE_FN() l2_outacl_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
clib_error_tl2_in_out_acl_init (vlib_main_t *vm)
 

Variables

l2_in_out_acl_main_t l2_in_out_acl_main
 
vlib_node_registration_t l2_inacl_node
 (constructor) VLIB_REGISTER_NODE (l2_inacl_node) More...
 
vlib_node_registration_t l2_outacl_node
 (constructor) VLIB_REGISTER_NODE (l2_outacl_node) More...
 
static char * l2_inacl_error_strings []
 
static char * l2_outacl_error_strings []
 

Macro Definition Documentation

◆ foreach_l2_inacl_error

#define foreach_l2_inacl_error
Value:
_(NONE, "valid input ACL packets") \
_(MISS, "input ACL misses") \
_(HIT, "input ACL hits") \
_(CHAIN_HIT, "input ACL hits after chain walk") \
_(TABLE_MISS, "input ACL table-miss drops") \
_(SESSION_DENY, "input ACL session deny drops")

Definition at line 91 of file l2_in_out_acl.c.

◆ foreach_l2_outacl_error

#define foreach_l2_outacl_error
Value:
_(NONE, "valid output ACL packets") \
_(MISS, "output ACL misses") \
_(HIT, "output ACL hits") \
_(CHAIN_HIT, "output ACL hits after chain walk") \
_(TABLE_MISS, "output ACL table-miss drops") \
_(SESSION_DENY, "output ACL session deny drops")

Definition at line 99 of file l2_in_out_acl.c.

Enumeration Type Documentation

◆ l2_inacl_error_t

Enumerator
L2_INACL_N_ERROR 

Definition at line 108 of file l2_in_out_acl.c.

◆ l2_outacl_error_t

Enumerator
L2_OUTACL_N_ERROR 

Definition at line 122 of file l2_in_out_acl.c.

Function Documentation

◆ format_l2_in_out_acl_trace()

static u8* format_l2_in_out_acl_trace ( u8 s,
u32  is_output,
va_list *  args 
)
static

Definition at line 58 of file l2_in_out_acl.c.

+ Here is the caller graph for this function:

◆ format_l2_inacl_trace()

static u8* format_l2_inacl_trace ( u8 s,
va_list *  args 
)
static

Definition at line 71 of file l2_in_out_acl.c.

+ Here is the call graph for this function:

◆ format_l2_outacl_trace()

static u8* format_l2_outacl_trace ( u8 s,
va_list *  args 
)
static

Definition at line 77 of file l2_in_out_acl.c.

+ Here is the call graph for this function:

◆ l2_in_out_acl_init()

clib_error_t* l2_in_out_acl_init ( vlib_main_t vm)

Definition at line 506 of file l2_in_out_acl.c.

+ Here is the call graph for this function:

◆ l2_in_out_acl_node_fn()

static uword l2_in_out_acl_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
int  is_output 
)
inlinestatic

Definition at line 138 of file l2_in_out_acl.c.

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

◆ l2_inacl_node()

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

Definition at line 451 of file l2_in_out_acl.c.

+ Here is the call graph for this function:

◆ l2_outacl_node()

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

Definition at line 459 of file l2_in_out_acl.c.

+ Here is the call graph for this function:

Variable Documentation

◆ l2_in_out_acl_main

l2_in_out_acl_main_t l2_in_out_acl_main

Definition at line 85 of file l2_in_out_acl.c.

◆ l2_inacl_error_strings

char* l2_inacl_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}

Definition at line 116 of file l2_in_out_acl.c.

◆ l2_inacl_node

vlib_node_registration_t l2_inacl_node
Initial value:
= {
.name = "l2-input-acl",
.vector_size = sizeof (u32),
.format_trace = format_l2_inacl_trace,
.error_strings = l2_inacl_error_strings,
.n_next_nodes = ACL_NEXT_INDEX_N_NEXT,
.next_nodes = {
[ACL_NEXT_INDEX_DENY] = "error-drop",
},
}

(constructor) VLIB_REGISTER_NODE (l2_inacl_node)

Definition at line 468 of file l2_in_out_acl.c.

◆ l2_outacl_error_strings

char* l2_outacl_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}

Definition at line 130 of file l2_in_out_acl.c.

◆ l2_outacl_node

vlib_node_registration_t l2_outacl_node
Initial value:
= {
.name = "l2-output-acl",
.vector_size = sizeof (u32),
.format_trace = format_l2_outacl_trace,
.error_strings = l2_outacl_error_strings,
.n_next_nodes = ACL_NEXT_INDEX_N_NEXT,
.next_nodes = {
[ACL_NEXT_INDEX_DENY] = "error-drop",
},
}

(constructor) VLIB_REGISTER_NODE (l2_outacl_node)

Definition at line 485 of file l2_in_out_acl.c.

ACL_NEXT_INDEX_DENY
@ ACL_NEXT_INDEX_DENY
Definition: in_out_acl.h:25
foreach_l2_inacl_error
#define foreach_l2_inacl_error
Definition: l2_in_out_acl.c:91
VLIB_NODE_TYPE_INTERNAL
@ VLIB_NODE_TYPE_INTERNAL
Definition: node.h:72
format_l2_inacl_trace
static u8 * format_l2_inacl_trace(u8 *s, va_list *args)
Definition: l2_in_out_acl.c:71
l2_inacl_error_strings
static char * l2_inacl_error_strings[]
Definition: l2_in_out_acl.c:116
foreach_l2_outacl_error
#define foreach_l2_outacl_error
Definition: l2_in_out_acl.c:99
ARRAY_LEN
#define ARRAY_LEN(x)
Definition: clib.h:70
l2_outacl_error_strings
static char * l2_outacl_error_strings[]
Definition: l2_in_out_acl.c:130
u32
unsigned int u32
Definition: types.h:88
ACL_NEXT_INDEX_N_NEXT
@ ACL_NEXT_INDEX_N_NEXT
Definition: in_out_acl.h:26
format_l2_outacl_trace
static u8 * format_l2_outacl_trace(u8 *s, va_list *args)
Definition: l2_in_out_acl.c:77
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123