|
static applied_hash_ace_entry_t ** | get_applied_hash_aces (acl_main_t *am, u32 lc_index) |
|
static void | hashtable_add_del (acl_main_t *am, clib_bihash_kv_48_8_t *kv, int is_add) |
|
static int | count_bits (u64 word) |
|
static u8 | first_mask_contains_second_mask (int is_ip6, fa_5tuple_t *mask1, fa_5tuple_t *mask2) |
|
static u32 | shift_ip4_if (u32 mask, u32 thresh, int numshifts, u32 else_val) |
|
static void | relax_ip4_addr (ip4_address_t *ip4_mask, int relax2) |
|
static void | relax_ip6_addr (ip6_address_t *ip6_mask, int relax2) |
|
static void | relax_tuple (fa_5tuple_t *mask, int is_ip6, int relax2) |
|
static u32 | find_mask_type_index (acl_main_t *am, fa_5tuple_t *mask) |
|
static u32 | assign_mask_type_index (acl_main_t *am, fa_5tuple_t *mask) |
|
static void | lock_mask_type_index (acl_main_t *am, u32 mask_type_index) |
|
static void | release_mask_type_index (acl_main_t *am, u32 mask_type_index) |
|
static u32 | tm_assign_mask_type_index (acl_main_t *am, fa_5tuple_t *mask, int is_ip6, u32 lc_index) |
|
static void | fill_applied_hash_ace_kv (acl_main_t *am, applied_hash_ace_entry_t **applied_hash_aces, u32 lc_index, u32 new_index, clib_bihash_kv_48_8_t *kv) |
|
static void | add_del_hashtable_entry (acl_main_t *am, u32 lc_index, applied_hash_ace_entry_t **applied_hash_aces, u32 index, int is_add) |
|
static void | remake_hash_applied_mask_info_vec (acl_main_t *am, applied_hash_ace_entry_t **applied_hash_aces, u32 lc_index) |
|
static void | vec_del_collision_rule (collision_match_rule_t **pvec, u32 applied_entry_index) |
|
static void | acl_plugin_print_pae (vlib_main_t *vm, int j, applied_hash_ace_entry_t *pae) |
|
static void | del_colliding_rule (applied_hash_ace_entry_t **applied_hash_aces, u32 head_index, u32 applied_entry_index) |
|
static void | add_colliding_rule (acl_main_t *am, applied_hash_ace_entry_t **applied_hash_aces, u32 head_index, u32 applied_entry_index) |
|
static u32 | activate_applied_ace_hash_entry (acl_main_t *am, u32 lc_index, applied_hash_ace_entry_t **applied_hash_aces, u32 new_index) |
|
static void * | hash_acl_set_heap (acl_main_t *am) |
|
void | acl_plugin_hash_acl_set_validate_heap (int on) |
|
void | acl_plugin_hash_acl_set_trace_heap (int on) |
|
static void | assign_mask_type_index_to_pae (acl_main_t *am, u32 lc_index, int is_ip6, applied_hash_ace_entry_t *pae) |
|
static void | split_partition (acl_main_t *am, u32 first_index, u32 lc_index, int is_ip6) |
|
static void | check_collision_count_and_maybe_split (acl_main_t *am, u32 lc_index, int is_ip6, u32 first_index) |
|
void | hash_acl_apply (acl_main_t *am, u32 lc_index, int acl_index, u32 acl_position) |
|
static u32 | find_head_applied_ace_index (applied_hash_ace_entry_t **applied_hash_aces, u32 curr_index) |
|
static void | set_collision_head_ae_index (applied_hash_ace_entry_t **applied_hash_aces, collision_match_rule_t *colliding_rules, u32 new_index) |
|
static void | move_applied_ace_hash_entry (acl_main_t *am, u32 lc_index, applied_hash_ace_entry_t **applied_hash_aces, u32 old_index, u32 new_index) |
|
static void | deactivate_applied_ace_hash_entry (acl_main_t *am, u32 lc_index, applied_hash_ace_entry_t **applied_hash_aces, u32 old_index) |
|
void | hash_acl_unapply (acl_main_t *am, u32 lc_index, int acl_index) |
|
void | hash_acl_reapply (acl_main_t *am, u32 lc_index, int acl_index) |
|
static void | make_ip6_address_mask (ip6_address_t *addr, u8 prefix_len) |
|
static void | ip4_address_mask_from_width (ip4_address_t *a, u32 width) |
|
static void | make_ip4_address_mask (ip4_address_t *addr, u8 prefix_len) |
|
static void | make_port_mask (u16 *portmask, u16 port_first, u16 port_last) |
|
static void | make_mask_and_match_from_rule (fa_5tuple_t *mask, acl_rule_t *r, hash_ace_info_t *hi) |
|
int | hash_acl_exists (acl_main_t *am, int acl_index) |
|
void | hash_acl_add (acl_main_t *am, int acl_index) |
|
void | hash_acl_delete (acl_main_t *am, int acl_index) |
|
void | show_hash_acl_hash (vlib_main_t *vm, acl_main_t *am, u32 verbose) |
|
void | acl_plugin_show_tables_mask_type (void) |
|
void | acl_plugin_show_tables_acl_hash_info (u32 acl_index) |
|
static void | acl_plugin_print_colliding_rule (vlib_main_t *vm, int j, collision_match_rule_t *cr) |
|
static void | acl_plugin_print_applied_mask_info (vlib_main_t *vm, int j, hash_applied_mask_info_t *mi) |
|
void | acl_plugin_show_tables_applied_info (u32 lc_index) |
|
void | acl_plugin_show_tables_bihash (u32 show_bihash_verbose) |
|
static void | ensure_ip6_min_addr (ip6_address_t *min_addr, ip6_address_t *mask_addr) |
|
static void | ensure_ip6_max_addr (ip6_address_t *max_addr, ip6_address_t *mask_addr) |
|
static void | ensure_ip4_min_addr (ip4_address_t *min_addr, ip4_address_t *mask_addr) |
|
static void | ensure_ip4_max_addr (ip4_address_t *max_addr, ip4_address_t *mask_addr) |
|