FD.io VPP  v17.04-9-g99c0734
Vector Packet Processing
fa_node.c File Reference
+ Include dependency graph for fa_node.c:

Go to the source code of this file.

Data Structures

struct  acl_fa_trace_t
 

Macros

#define foreach_acl_fa_error
 
#define foreach_acl_fa_cleaner_error
 

Enumerations

enum  acl_fa_error_t { ACL_FA_N_ERROR }
 
enum  acl_fa_cleaner_error_t { ACL_FA_CLEANER_N_ERROR }
 

Functions

static u8format_acl_fa_trace (u8 *s, va_list *args)
 
static void * get_ptr_to_offset (vlib_buffer_t *b0, int offset)
 
static int fa_acl_match_addr (ip46_address_t *addr1, ip46_address_t *addr2, int prefixlen, int is_ip6)
 
static int fa_acl_match_port (u16 port, u16 port_first, u16 port_last, int is_ip6)
 
int acl_match_5tuple (acl_main_t *am, u32 acl_index, fa_5tuple_t *pkt_5tuple, int is_ip6, u8 *r_action, u32 *r_acl_match_p, u32 *r_rule_match_p, u32 *trace_bitmap)
 
static u8 full_acl_match_5tuple (u32 sw_if_index, fa_5tuple_t *pkt_5tuple, int is_l2, int is_ip6, int is_input, u32 *acl_match_p, u32 *rule_match_p, u32 *trace_bitmap)
 
static int offset_within_packet (vlib_buffer_t *b0, int offset)
 
static void acl_fill_5tuple (acl_main_t *am, vlib_buffer_t *b0, int is_ip6, int is_input, int is_l2_path, fa_5tuple_t *p5tuple_pkt)
 
static void acl_make_5tuple_session_key (int is_input, fa_5tuple_t *p5tuple_pkt, fa_5tuple_t *p5tuple_sess)
 
static int acl_fa_ifc_has_sessions (acl_main_t *am, int sw_if_index0)
 
static int acl_fa_ifc_has_in_acl (acl_main_t *am, int sw_if_index0)
 
static int acl_fa_ifc_has_out_acl (acl_main_t *am, int sw_if_index0)
 
static int fa_session_get_timeout_type (acl_main_t *am, fa_session_t *sess)
 
static u64 fa_session_get_timeout (acl_main_t *am, fa_session_t *sess)
 
static void acl_fa_ifc_init_sessions (acl_main_t *am, int sw_if_index0)
 
static void acl_fa_conn_list_add_session (acl_main_t *am, u32 sess_id, u64 now)
 
static void acl_fa_conn_list_delete_session (acl_main_t *am, u32 sess_id)
 
int acl_fa_session_is_dead (acl_main_t *am, u32 sw_if_index, u64 now, u32 sess_id)
 
static void acl_fa_restart_timer_for_session (acl_main_t *am, u64 now, u32 sess_id)
 
static u8 acl_fa_track_session (acl_main_t *am, int is_input, u32 sw_if_index, u64 now, fa_session_t *sess, fa_5tuple_t *pkt_5tuple)
 
static void acl_fa_delete_session (acl_main_t *am, u32 sw_if_index, u32 sess_id)
 
static int acl_fa_can_add_session (acl_main_t *am, int is_input, u32 sw_if_index)
 
static void acl_fa_try_recycle_session (acl_main_t *am, int is_input, u32 sw_if_index)
 
static void acl_fa_add_session (acl_main_t *am, int is_input, u32 sw_if_index, u64 now, fa_5tuple_t *p5tuple)
 
static int acl_fa_find_session (acl_main_t *am, u32 sw_if_index0, fa_5tuple_t *p5tuple, clib_bihash_kv_40_8_t *pvalue_sess)
 
static uword acl_fa_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int is_ip6, int is_input, int is_l2_path, u32 *l2_feat_next_node_index, vlib_node_registration_t *acl_fa_node)
 
static uword acl_in_ip6_l2_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword acl_in_ip4_l2_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword acl_out_ip6_l2_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword acl_out_ip4_l2_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword acl_in_ip6_fa_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword acl_in_ip4_fa_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword acl_out_ip6_fa_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword acl_out_ip4_fa_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static int acl_fa_clean_sessions_by_sw_if_index (acl_main_t *am, u32 sw_if_index, u32 *count)
 
static int acl_fa_conn_time_to_check (acl_main_t *am, u64 now, u32 session_index)
 
static uword acl_fa_session_cleaner_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
void acl_fa_enable_disable (u32 sw_if_index, int is_input, int enable_disable)
 
 VNET_FEATURE_INIT (acl_in_ip6_fa_feature, static)
 
 VNET_FEATURE_INIT (acl_in_ip4_fa_feature, static)
 
 VNET_FEATURE_INIT (acl_out_ip6_fa_feature, static)
 
 VNET_FEATURE_INIT (acl_out_ip4_fa_feature, static)
 

Variables

static char * acl_fa_error_strings []
 
vlib_node_registration_t acl_in_l2_ip6_node
 (constructor) VLIB_REGISTER_NODE (acl_in_l2_ip6_node) More...
 
vlib_node_registration_t acl_in_l2_ip4_node
 (constructor) VLIB_REGISTER_NODE (acl_in_l2_ip4_node) More...
 
vlib_node_registration_t acl_out_l2_ip6_node
 (constructor) VLIB_REGISTER_NODE (acl_out_l2_ip6_node) More...
 
vlib_node_registration_t acl_out_l2_ip4_node
 (constructor) VLIB_REGISTER_NODE (acl_out_l2_ip4_node) More...
 
vlib_node_registration_t acl_in_fa_ip6_node
 (constructor) VLIB_REGISTER_NODE (acl_in_fa_ip6_node) More...
 
vlib_node_registration_t acl_in_fa_ip4_node
 (constructor) VLIB_REGISTER_NODE (acl_in_fa_ip4_node) More...
 
vlib_node_registration_t acl_out_fa_ip6_node
 (constructor) VLIB_REGISTER_NODE (acl_out_fa_ip6_node) More...
 
vlib_node_registration_t acl_out_fa_ip4_node
 (constructor) VLIB_REGISTER_NODE (acl_out_fa_ip4_node) More...
 
static char * acl_fa_cleaner_error_strings []
 
static vlib_node_registration_t acl_fa_session_cleaner_process_node
 (constructor) VLIB_REGISTER_NODE (acl_fa_session_cleaner_process_node) More...
 

Macro Definition Documentation

#define foreach_acl_fa_cleaner_error
Value:
_(UNKNOWN_EVENT, "unknown event received") \
/* end of errors */

Definition at line 1041 of file fa_node.c.

#define foreach_acl_fa_error
Value:
_(ACL_DROP, "ACL deny packets") \
_(ACL_PERMIT, "ACL permit packets") \
_(ACL_NEW_SESSION, "new sessions added") \
_(ACL_EXIST_SESSION, "existing session packets") \
_(ACL_CHECK, "checked packets") \
_(ACL_RESTART_SESSION_TIMER, "restart session timer") \
_(ACL_TOO_MANY_SESSIONS, "too many sessions to add new") \
/* end of errors */

Definition at line 61 of file fa_node.c.

Enumeration Type Documentation

Enumerator
ACL_FA_CLEANER_N_ERROR 

Definition at line 1045 of file fa_node.c.

Enumerator
ACL_FA_N_ERROR 

Definition at line 71 of file fa_node.c.

Function Documentation

static void acl_fa_add_session ( acl_main_t am,
int  is_input,
u32  sw_if_index,
u64  now,
fa_5tuple_t p5tuple 
)
static

Definition at line 687 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_can_add_session ( acl_main_t am,
int  is_input,
u32  sw_if_index 
)
static

Definition at line 663 of file fa_node.c.

+ Here is the caller graph for this function:

static int acl_fa_clean_sessions_by_sw_if_index ( acl_main_t am,
u32  sw_if_index,
u32 count 
)
static

Definition at line 1060 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_fa_conn_list_add_session ( acl_main_t am,
u32  sess_id,
u64  now 
)
static

Definition at line 573 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_fa_conn_list_delete_session ( acl_main_t am,
u32  sess_id 
)
static

Definition at line 597 of file fa_node.c.

+ Here is the caller graph for this function:

static int acl_fa_conn_time_to_check ( acl_main_t am,
u64  now,
u32  session_index 
)
static

Definition at line 1101 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_fa_delete_session ( acl_main_t am,
u32  sw_if_index,
u32  sess_id 
)
static

Definition at line 651 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void acl_fa_enable_disable ( u32  sw_if_index,
int  is_input,
int  enable_disable 
)

Definition at line 1284 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_find_session ( acl_main_t am,
u32  sw_if_index0,
fa_5tuple_t p5tuple,
clib_bihash_kv_40_8_t pvalue_sess 
)
static

Definition at line 731 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_ifc_has_in_acl ( acl_main_t am,
int  sw_if_index0 
)
static

Definition at line 503 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_ifc_has_out_acl ( acl_main_t am,
int  sw_if_index0 
)
static

Definition at line 510 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int acl_fa_ifc_has_sessions ( acl_main_t am,
int  sw_if_index0 
)
static

Definition at line 495 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_fa_ifc_init_sessions ( acl_main_t am,
int  sw_if_index0 
)
static

Definition at line 555 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_fa_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
int  is_ip6,
int  is_input,
int  is_l2_path,
u32 l2_feat_next_node_index,
vlib_node_registration_t acl_fa_node 
)
inlinestatic

Definition at line 741 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_fa_restart_timer_for_session ( acl_main_t am,
u64  now,
u32  sess_id 
)
static

Definition at line 629 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_fa_session_cleaner_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 1111 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int acl_fa_session_is_dead ( acl_main_t am,
u32  sw_if_index,
u64  now,
u32  sess_id 
)

Definition at line 622 of file fa_node.c.

static u8 acl_fa_track_session ( acl_main_t am,
int  is_input,
u32  sw_if_index,
u64  now,
fa_session_t sess,
fa_5tuple_t pkt_5tuple 
)
static

Definition at line 638 of file fa_node.c.

+ Here is the caller graph for this function:

static void acl_fa_try_recycle_session ( acl_main_t am,
int  is_input,
u32  sw_if_index 
)
inlinestatic

Definition at line 675 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_fill_5tuple ( acl_main_t am,
vlib_buffer_t b0,
int  is_ip6,
int  is_input,
int  is_l2_path,
fa_5tuple_t p5tuple_pkt 
)
static

Definition at line 314 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_in_ip4_fa_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 1004 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_in_ip4_l2_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 959 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_in_ip6_fa_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 996 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_in_ip6_l2_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 948 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_make_5tuple_session_key ( int  is_input,
fa_5tuple_t p5tuple_pkt,
fa_5tuple_t p5tuple_sess 
)
static

Definition at line 481 of file fa_node.c.

+ Here is the caller graph for this function:

int acl_match_5tuple ( acl_main_t am,
u32  acl_index,
fa_5tuple_t pkt_5tuple,
int  is_ip6,
u8 r_action,
u32 r_acl_match_p,
u32 r_rule_match_p,
u32 trace_bitmap 
)

Definition at line 139 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_out_ip4_fa_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 1020 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_out_ip4_l2_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 981 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_out_ip6_fa_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 1012 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword acl_out_ip6_l2_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 970 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int fa_acl_match_addr ( ip46_address_t *  addr1,
ip46_address_t *  addr2,
int  prefixlen,
int  is_ip6 
)
static

Definition at line 95 of file fa_node.c.

+ Here is the caller graph for this function:

static int fa_acl_match_port ( u16  port,
u16  port_first,
u16  port_last,
int  is_ip6 
)
static

Definition at line 133 of file fa_node.c.

+ Here is the caller graph for this function:

static u64 fa_session_get_timeout ( acl_main_t am,
fa_session_t sess 
)
static

Definition at line 546 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int fa_session_get_timeout_type ( acl_main_t am,
fa_session_t sess 
)
static

Definition at line 518 of file fa_node.c.

+ Here is the caller graph for this function:

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

Definition at line 43 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 full_acl_match_5tuple ( u32  sw_if_index,
fa_5tuple_t pkt_5tuple,
int  is_l2,
int  is_ip6,
int  is_input,
u32 acl_match_p,
u32 rule_match_p,
u32 trace_bitmap 
)
static

Definition at line 262 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void* get_ptr_to_offset ( vlib_buffer_t b0,
int  offset 
)
static

Definition at line 87 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int offset_within_packet ( vlib_buffer_t b0,
int  offset 
)
static

Definition at line 307 of file fa_node.c.

+ Here is the caller graph for this function:

VNET_FEATURE_INIT ( acl_in_ip6_fa_feature  ,
static   
)

+ Here is the caller graph for this function:

VNET_FEATURE_INIT ( acl_in_ip4_fa_feature  ,
static   
)
VNET_FEATURE_INIT ( acl_out_ip6_fa_feature  ,
static   
)
VNET_FEATURE_INIT ( acl_out_ip4_fa_feature  ,
static   
)

Variable Documentation

char* acl_fa_cleaner_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_acl_fa_cleaner_error
Definition: fa_node.c:1041

Definition at line 1053 of file fa_node.c.

char* acl_fa_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_acl_fa_error
Definition: fa_node.c:61

Definition at line 79 of file fa_node.c.

static vlib_node_registration_t acl_fa_session_cleaner_process_node
static
Initial value:
= {
.name = "acl-plugin-fa-cleaner-process",
.error_strings = acl_fa_cleaner_error_strings,
.n_next_nodes = 0,
.next_nodes = {},
}
static char * acl_fa_cleaner_error_strings[]
Definition: fa_node.c:1053
#define ARRAY_LEN(x)
Definition: clib.h:59
static uword acl_fa_session_cleaner_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: fa_node.c:1111

(constructor) VLIB_REGISTER_NODE (acl_fa_session_cleaner_process_node)

Definition at line 1098 of file fa_node.c.

vlib_node_registration_t acl_in_fa_ip4_node
Initial value:
=
{
.function = acl_in_ip4_fa_node_fn,
.name = "acl-plugin-in-ip4-fa",
.vector_size = sizeof (u32),
.format_trace = format_acl_fa_trace,
.error_strings = acl_fa_error_strings,
.n_next_nodes = ACL_FA_N_NEXT,
.next_nodes =
{
[ACL_FA_ERROR_DROP] = "error-drop",
}
}
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:43
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static uword acl_in_ip4_fa_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: fa_node.c:1004
static char * acl_fa_error_strings[]
Definition: fa_node.c:79

(constructor) VLIB_REGISTER_NODE (acl_in_fa_ip4_node)

Definition at line 1002 of file fa_node.c.

vlib_node_registration_t acl_in_fa_ip6_node
Initial value:
=
{
.function = acl_in_ip6_fa_node_fn,
.name = "acl-plugin-in-ip6-fa",
.vector_size = sizeof (u32),
.format_trace = format_acl_fa_trace,
.error_strings = acl_fa_error_strings,
.n_next_nodes = ACL_FA_N_NEXT,
.next_nodes =
{
[ACL_FA_ERROR_DROP] = "error-drop",
}
}
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:43
static uword acl_in_ip6_fa_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: fa_node.c:996
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * acl_fa_error_strings[]
Definition: fa_node.c:79

(constructor) VLIB_REGISTER_NODE (acl_in_fa_ip6_node)

Definition at line 994 of file fa_node.c.

vlib_node_registration_t acl_in_l2_ip4_node
Initial value:
=
{
.function = acl_in_ip4_l2_node_fn,
.name = "acl-plugin-in-ip4-l2",
.vector_size = sizeof (u32),
.format_trace = format_acl_fa_trace,
.error_strings = acl_fa_error_strings,
.n_next_nodes = ACL_FA_N_NEXT,
.next_nodes =
{
[ACL_FA_ERROR_DROP] = "error-drop",
}
}
static uword acl_in_ip4_l2_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: fa_node.c:959
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:43
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * acl_fa_error_strings[]
Definition: fa_node.c:79

(constructor) VLIB_REGISTER_NODE (acl_in_l2_ip4_node)

Definition at line 957 of file fa_node.c.

vlib_node_registration_t acl_in_l2_ip6_node
Initial value:
=
{
.function = acl_in_ip6_l2_node_fn,
.name = "acl-plugin-in-ip6-l2",
.vector_size = sizeof (u32),
.format_trace = format_acl_fa_trace,
.error_strings = acl_fa_error_strings,
.n_next_nodes = ACL_FA_N_NEXT,
.next_nodes =
{
[ACL_FA_ERROR_DROP] = "error-drop",
}
}
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:43
static uword acl_in_ip6_l2_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: fa_node.c:948
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * acl_fa_error_strings[]
Definition: fa_node.c:79

(constructor) VLIB_REGISTER_NODE (acl_in_l2_ip6_node)

Definition at line 946 of file fa_node.c.

vlib_node_registration_t acl_out_fa_ip4_node
Initial value:
=
{
.name = "acl-plugin-out-ip4-fa",
.vector_size = sizeof (u32),
.format_trace = format_acl_fa_trace,
.error_strings = acl_fa_error_strings,
.n_next_nodes = ACL_FA_N_NEXT,
.next_nodes =
{
[ACL_FA_ERROR_DROP] = "error-drop",
}
}
static uword acl_out_ip4_fa_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: fa_node.c:1020
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:43
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * acl_fa_error_strings[]
Definition: fa_node.c:79

(constructor) VLIB_REGISTER_NODE (acl_out_fa_ip4_node)

Definition at line 1018 of file fa_node.c.

vlib_node_registration_t acl_out_fa_ip6_node
Initial value:
=
{
.name = "acl-plugin-out-ip6-fa",
.vector_size = sizeof (u32),
.format_trace = format_acl_fa_trace,
.error_strings = acl_fa_error_strings,
.n_next_nodes = ACL_FA_N_NEXT,
.next_nodes =
{
[ACL_FA_ERROR_DROP] = "error-drop",
}
}
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:43
static uword acl_out_ip6_fa_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: fa_node.c:1012
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * acl_fa_error_strings[]
Definition: fa_node.c:79

(constructor) VLIB_REGISTER_NODE (acl_out_fa_ip6_node)

Definition at line 1010 of file fa_node.c.

vlib_node_registration_t acl_out_l2_ip4_node
Initial value:
=
{
.name = "acl-plugin-out-ip4-l2",
.vector_size = sizeof (u32),
.format_trace = format_acl_fa_trace,
.error_strings = acl_fa_error_strings,
.n_next_nodes = ACL_FA_N_NEXT,
.next_nodes =
{
[ACL_FA_ERROR_DROP] = "error-drop",
}
}
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:43
#define ARRAY_LEN(x)
Definition: clib.h:59
static uword acl_out_ip4_l2_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: fa_node.c:981
unsigned int u32
Definition: types.h:88
static char * acl_fa_error_strings[]
Definition: fa_node.c:79

(constructor) VLIB_REGISTER_NODE (acl_out_l2_ip4_node)

Definition at line 979 of file fa_node.c.

vlib_node_registration_t acl_out_l2_ip6_node
Initial value:
=
{
.name = "acl-plugin-out-ip6-l2",
.vector_size = sizeof (u32),
.format_trace = format_acl_fa_trace,
.error_strings = acl_fa_error_strings,
.n_next_nodes = ACL_FA_N_NEXT,
.next_nodes =
{
[ACL_FA_ERROR_DROP] = "error-drop",
}
}
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:43
static uword acl_out_ip6_l2_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: fa_node.c:970
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88
static char * acl_fa_error_strings[]
Definition: fa_node.c:79

(constructor) VLIB_REGISTER_NODE (acl_out_l2_ip6_node)

Definition at line 968 of file fa_node.c.