FD.io VPP  v17.07-30-g839fa73
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 single_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 linear_multi_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 u8 multi_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_shortest_timeout (acl_main_t *am)
 
static u64 fa_session_get_list_timeout (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_verify_init_sessions (acl_main_t *am)
 
static fa_session_tget_session_ptr (acl_main_t *am, u16 thread_index, u32 session_index)
 
static int is_valid_session_ptr (acl_main_t *am, u16 thread_index, fa_session_t *sess)
 
static void acl_fa_conn_list_add_session (acl_main_t *am, fa_full_session_id_t sess_id, u64 now)
 
static int acl_fa_conn_list_delete_session (acl_main_t *am, fa_full_session_id_t sess_id)
 
static int acl_fa_restart_timer_for_session (acl_main_t *am, u64 now, fa_full_session_id_t 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, fa_full_session_id_t sess_id)
 
static int acl_fa_can_add_session (acl_main_t *am, int is_input, u32 sw_if_index)
 
static u64 acl_fa_get_list_head_expiry_time (acl_main_t *am, acl_fa_per_worker_data_t *pw, u64 now, u16 thread_index, int timeout_type)
 
static int acl_fa_conn_time_to_check (acl_main_t *am, acl_fa_per_worker_data_t *pw, u64 now, u16 thread_index, u32 session_index)
 
static int acl_fa_check_idle_sessions (acl_main_t *am, u16 thread_index, u64 now)
 
static void acl_fa_try_recycle_session (acl_main_t *am, int is_input, u16 thread_index, u32 sw_if_index)
 
static fa_session_tacl_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 uword acl_fa_worker_conn_cleaner_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
static void send_one_worker_interrupt (vlib_main_t *vm, acl_main_t *am, int thread_index)
 
static void send_interrupts_to_workers (vlib_main_t *vm, acl_main_t *am)
 
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)
 
void show_fa_sessions_hash (vlib_main_t *vm, u32 verbose)
 
 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...
 
static vlib_node_registration_t acl_fa_worker_session_cleaner_process_node
 (constructor) VLIB_REGISTER_NODE (acl_fa_worker_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 1250 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 62 of file fa_node.c.

Enumeration Type Documentation

Enumerator
ACL_FA_CLEANER_N_ERROR 

Definition at line 1254 of file fa_node.c.

Enumerator
ACL_FA_N_ERROR 

Definition at line 72 of file fa_node.c.

Function Documentation

static fa_session_t* 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 875 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 750 of file fa_node.c.

+ Here is the caller graph for this function:

static int acl_fa_check_idle_sessions ( acl_main_t am,
u16  thread_index,
u64  now 
)
static

Definition at line 789 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,
fa_full_session_id_t  sess_id,
u64  now 
)
static

Definition at line 635 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_conn_list_delete_session ( acl_main_t am,
fa_full_session_id_t  sess_id 
)
static

Definition at line 664 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_conn_time_to_check ( acl_main_t am,
acl_fa_per_worker_data_t pw,
u64  now,
u16  thread_index,
u32  session_index 
)
static

Definition at line 775 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,
fa_full_session_id_t  sess_id 
)
static

Definition at line 732 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 1632 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 922 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u64 acl_fa_get_list_head_expiry_time ( acl_main_t am,
acl_fa_per_worker_data_t pw,
u64  now,
u16  thread_index,
int  timeout_type 
)
static

Definition at line 758 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 517 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 524 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 511 of file fa_node.c.

+ 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 932 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_restart_timer_for_session ( acl_main_t am,
u64  now,
fa_full_session_id_t  sess_id 
)
static

Definition at line 700 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 1399 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 719 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,
u16  thread_index,
u32  sw_if_index 
)
inlinestatic

Definition at line 860 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_verify_init_sessions ( acl_main_t am)
static

Definition at line 602 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_worker_conn_cleaner_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 1278 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 330 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 1220 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 1175 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 1212 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 1164 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 497 of file fa_node.c.

+ 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 1236 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 1197 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 1228 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 1186 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 96 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 134 of file fa_node.c.

+ Here is the caller graph for this function:

static u64 fa_session_get_list_timeout ( acl_main_t am,
fa_session_t sess 
)
static

Definition at line 577 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u64 fa_session_get_shortest_timeout ( acl_main_t am)
static

Definition at line 560 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 593 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 532 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 44 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 88 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static fa_session_t* get_session_ptr ( acl_main_t am,
u16  thread_index,
u32  session_index 
)
inlinestatic

Definition at line 621 of file fa_node.c.

+ Here is the caller graph for this function:

static int is_valid_session_ptr ( acl_main_t am,
u16  thread_index,
fa_session_t sess 
)
inlinestatic

Definition at line 628 of file fa_node.c.

+ Here is the caller graph for this function:

static u8 linear_multi_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 263 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 multi_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 308 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 323 of file fa_node.c.

+ Here is the caller graph for this function:

static void send_interrupts_to_workers ( vlib_main_t vm,
acl_main_t am 
)
static

Definition at line 1387 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_one_worker_interrupt ( vlib_main_t vm,
acl_main_t am,
int  thread_index 
)
static

Definition at line 1374 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void show_fa_sessions_hash ( vlib_main_t vm,
u32  verbose 
)

Definition at line 1687 of file fa_node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int single_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 140 of file fa_node.c.

+ Here is the call graph for this function:

+ 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:1250

Definition at line 1262 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:62

Definition at line 80 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:1262
#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:1399

(constructor) VLIB_REGISTER_NODE (acl_fa_session_cleaner_process_node)

Definition at line 1270 of file fa_node.c.

static vlib_node_registration_t acl_fa_worker_session_cleaner_process_node
static
Initial value:
= {
.name = "acl-plugin-fa-worker-cleaner-process",
.state = VLIB_NODE_STATE_INTERRUPT,
}
static uword acl_fa_worker_conn_cleaner_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: fa_node.c:1278

(constructor) VLIB_REGISTER_NODE (acl_fa_worker_session_cleaner_process_node)

Definition at line 1271 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:44
#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:1220
static char * acl_fa_error_strings[]
Definition: fa_node.c:80

(constructor) VLIB_REGISTER_NODE (acl_in_fa_ip4_node)

Definition at line 1218 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:44
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:1212
#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:80

(constructor) VLIB_REGISTER_NODE (acl_in_fa_ip6_node)

Definition at line 1210 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:1175
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:44
#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:80

(constructor) VLIB_REGISTER_NODE (acl_in_l2_ip4_node)

Definition at line 1173 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:44
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:1164
#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:80

(constructor) VLIB_REGISTER_NODE (acl_in_l2_ip6_node)

Definition at line 1162 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:1236
static u8 * format_acl_fa_trace(u8 *s, va_list *args)
Definition: fa_node.c:44
#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:80

(constructor) VLIB_REGISTER_NODE (acl_out_fa_ip4_node)

Definition at line 1234 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:44
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:1228
#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:80

(constructor) VLIB_REGISTER_NODE (acl_out_fa_ip6_node)

Definition at line 1226 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:44
#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:1197
unsigned int u32
Definition: types.h:88
static char * acl_fa_error_strings[]
Definition: fa_node.c:80

(constructor) VLIB_REGISTER_NODE (acl_out_l2_ip4_node)

Definition at line 1195 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:44
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:1186
#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:80

(constructor) VLIB_REGISTER_NODE (acl_out_l2_ip6_node)

Definition at line 1184 of file fa_node.c.