FD.io VPP  v18.07-rc0-415-g6c78436
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 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)
 
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 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 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 * 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, applied_hash_ace_entry_t *pae)
 
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)
 
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_pae (vlib_main_t *vm, int j, applied_hash_ace_entry_t *pae)
 
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)
 

Function Documentation

void acl_plugin_hash_acl_set_trace_heap ( int  on)

Definition at line 324 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 308 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_plugin_print_applied_mask_info ( vlib_main_t vm,
int  j,
hash_applied_mask_info_t mi 
)
static

Definition at line 932 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void acl_plugin_print_colliding_rule ( vlib_main_t vm,
int  j,
collision_match_rule_t cr 
)
static

Definition at line 911 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 918 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 880 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 940 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 990 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 861 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 245 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 225 of file hash_lookup.c.

+ 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 89 of file hash_lookup.c.

+ Here is the call graph for this function:

+ 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 116 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void assign_mask_type_index_to_pae ( acl_main_t am,
applied_hash_ace_entry_t pae 
)
static

Definition at line 337 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 499 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void del_colliding_rule ( applied_hash_ace_entry_t **  applied_hash_aces,
u32  head_index,
u32  applied_entry_index 
)
static

Definition at line 216 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 436 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 102 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 772 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 354 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 813 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 763 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 635 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 293 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 559 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 ip4_address_mask_from_width ( ip4_address_t a,
u32  width 
)
inlinestatic

Definition at line 667 of file hash_lookup.c.

+ Here is the caller graph for this function:

static void make_ip4_address_mask ( ip4_address_t addr,
u8  prefix_len 
)
static

Definition at line 683 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void make_ip6_address_mask ( ip6_address_t addr,
u8  prefix_len 
)
static

Definition at line 659 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 
)
static

Definition at line 702 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 689 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 454 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 138 of file hash_lookup.c.

+ Here is the caller graph for this function:

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

Definition at line 149 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 854 of file hash_lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vec_del_collision_rule ( collision_match_rule_t **  pvec,
u32  applied_entry_index 
)
static

Definition at line 201 of file hash_lookup.c.

+ Here is the caller graph for this function: