FD.io VPP  v18.04-17-g3a0d853
Vector Packet Processing
hash_lookup.c File Reference
+ Include dependency graph for hash_lookup.c:

Go to the source code of this file.

Functions

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 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 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 applied_hash_entries_analyze (acl_main_t *am, applied_hash_ace_entry_t **applied_hash_aces)
 
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)
 
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 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)
 
static void hash_acl_build_applied_lookup_bitmap (acl_main_t *am, u32 lc_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_address_mask (ip46_address_t *addr, u8 is_ipv6, u8 prefix_len)
 
static u8 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 match_nonfirst_fragment)
 
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 release_mask_type_index (acl_main_t *am, u32 mask_type_index)
 
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)
 
void acl_plugin_print_pae (vlib_main_t *vm, int j, applied_hash_ace_entry_t *pae)
 
void acl_plugin_show_tables_applied_info (u32 lc_index)
 
void acl_plugin_show_tables_bihash (u32 show_bihash_verbose)
 

Function Documentation

void acl_plugin_hash_acl_set_trace_heap ( int  on)

Definition at line 184 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void acl_plugin_hash_acl_set_validate_heap ( int  on)

Definition at line 168 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void acl_plugin_print_pae ( vlib_main_t vm,
int  j,
applied_hash_ace_entry_t pae 
)

Definition at line 823 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void acl_plugin_show_tables_acl_hash_info ( u32  acl_index)

Definition at line 789 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void acl_plugin_show_tables_applied_info ( u32  lc_index)

Definition at line 834 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void acl_plugin_show_tables_bihash ( u32  show_bihash_verbose)

Definition at line 874 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void acl_plugin_show_tables_mask_type ( void  )

Definition at line 770 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void activate_applied_ace_hash_entry ( acl_main_t am,
u32  lc_index,
applied_hash_ace_entry_t **  applied_hash_aces,
u32  new_index 
)
static

Definition at line 93 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 79 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void applied_hash_entries_analyze ( acl_main_t am,
applied_hash_ace_entry_t **  applied_hash_aces 
)
static

Definition at line 138 of file hash_lookup.c.

+ Here is the caller graph for this function:

static u32 assign_mask_type_index ( acl_main_t am,
fa_5tuple_t mask 
)
static

Definition at line 628 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 
)
static

Definition at line 340 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 57 of file hash_lookup.c.

+ Here is the caller graph for this function:

static u32 find_head_applied_ace_index ( applied_hash_ace_entry_t **  applied_hash_aces,
u32  curr_index 
)
static

Definition at line 277 of file hash_lookup.c.

+ Here is the caller graph for this function:

static u32 find_mask_type_index ( acl_main_t am,
fa_5tuple_t mask 
)
static

Definition at line 614 of file hash_lookup.c.

+ Here is the caller graph for this function:

static applied_hash_ace_entry_t** get_applied_hash_aces ( acl_main_t am,
u32  lc_index 
)
inlinestatic

Definition at line 36 of file hash_lookup.c.

+ Here is the caller graph for this function:

void hash_acl_add ( acl_main_t am,
int  acl_index 
)

Definition at line 669 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void hash_acl_apply ( acl_main_t am,
u32  lc_index,
int  acl_index,
u32  acl_position 
)

Definition at line 197 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void hash_acl_build_applied_lookup_bitmap ( acl_main_t am,
u32  lc_index 
)
static

Definition at line 392 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void hash_acl_delete ( acl_main_t am,
int  acl_index 
)

Definition at line 721 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int hash_acl_exists ( acl_main_t am,
int  acl_index 
)

Definition at line 660 of file hash_lookup.c.

+ Here is the caller graph for this function:

void hash_acl_reapply ( acl_main_t am,
u32  lc_index,
int  acl_index 
)

Definition at line 493 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void* hash_acl_set_heap ( acl_main_t am)
static

Definition at line 153 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void hash_acl_unapply ( acl_main_t am,
u32  lc_index,
int  acl_index 
)

Definition at line 415 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void hashtable_add_del ( acl_main_t am,
clib_bihash_kv_48_8_t kv,
int  is_add 
)
static

Definition at line 48 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void make_address_mask ( ip46_address_t *  addr,
u8  is_ipv6,
u8  prefix_len 
)
static

Definition at line 517 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void make_mask_and_match_from_rule ( fa_5tuple_t mask,
acl_rule_t r,
hash_ace_info_t hi,
int  match_nonfirst_fragment 
)
static

Definition at line 556 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 make_port_mask ( u16 portmask,
u16  port_first,
u16  port_last 
)
static

Definition at line 529 of file hash_lookup.c.

+ Here is the caller graph for this function:

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

Definition at line 295 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void release_mask_type_index ( acl_main_t am,
u32  mask_type_index 
)
static

Definition at line 650 of file hash_lookup.c.

+ Here is the caller graph for this function:

void show_hash_acl_hash ( vlib_main_t vm,
acl_main_t am,
u32  verbose 
)

Definition at line 763 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: