|
static u8 * | format_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_t * | get_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_t * | 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 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) |
|