FD.io VPP  v16.06
Vector Packet Processing
qhash.c File Reference
+ Include dependency graph for qhash.c:

Go to the source code of this file.

Macros

#define QHASH_ALL_VALID   ((1 << QHASH_KEYS_PER_BUCKET) - 1)
 

Functions

static uword qhash_min_log2 (uword x)
 
static void qhash_min_log2_init ()
 
always_inline uword qhash_get_valid_elt_mask (qhash_t *h, uword i)
 
always_inline void qhash_set_valid_elt_mask (qhash_t *h, uword i, uword mask)
 
always_inline uword qhash_search_bucket (uword *hash_keys, uword search_key, uword m)
 
void qhash_get_multiple (void *v, uword *search_keys, uword n_search_keys, u32 *result_indices)
 
u32 qhash_get_first_match (void *v, uword *search_keys, uword n_search_keys, uword *matching_key)
 
static voidqhash_set_overflow (void *v, uword elt_bytes, uword key, uword bi, uword *n_elts, u32 *result)
 
static uword qhash_unset_overflow (void *v, uword key, uword bi, uword *n_elts)
 
always_inline uword qhash_find_free (uword i, uword valid_mask)
 
static uword unset_slow_path (void *v, uword elt_bytes, uword k0, uword bi0, uword valid0, uword match0, uword *n_elts)
 

Variables

static u8 min_log2_table [256]
 

Macro Definition Documentation

#define QHASH_ALL_VALID   ((1 << QHASH_KEYS_PER_BUCKET) - 1)

Definition at line 40 of file qhash.c.

Function Documentation

always_inline uword qhash_find_free ( uword  i,
uword  valid_mask 
)

Definition at line 460 of file qhash.c.

+ Here is the call graph for this function:

u32 qhash_get_first_match ( void v,
uword search_keys,
uword  n_search_keys,
uword matching_key 
)

Definition at line 243 of file qhash.c.

+ Here is the call graph for this function:

void qhash_get_multiple ( void v,
uword search_keys,
uword  n_search_keys,
u32 result_indices 
)

Definition at line 113 of file qhash.c.

+ Here is the call graph for this function:

always_inline uword qhash_get_valid_elt_mask ( qhash_t h,
uword  i 
)

Definition at line 88 of file qhash.c.

+ Here is the caller graph for this function:

static uword qhash_min_log2 ( uword  x)
inlinestatic

Definition at line 73 of file qhash.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void qhash_min_log2_init ( )
static

Definition at line 80 of file qhash.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline uword qhash_search_bucket ( uword hash_keys,
uword  search_key,
uword  m 
)

Definition at line 96 of file qhash.c.

+ Here is the caller graph for this function:

static void* qhash_set_overflow ( void v,
uword  elt_bytes,
uword  key,
uword  bi,
uword n_elts,
u32 result 
)
static

Definition at line 388 of file qhash.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void qhash_set_valid_elt_mask ( qhash_t h,
uword  i,
uword  mask 
)

Definition at line 92 of file qhash.c.

+ Here is the caller graph for this function:

static uword qhash_unset_overflow ( void v,
uword  key,
uword  bi,
uword n_elts 
)
static

Definition at line 434 of file qhash.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword unset_slow_path ( void v,
uword  elt_bytes,
uword  k0,
uword  bi0,
uword  valid0,
uword  match0,
uword n_elts 
)
static

Definition at line 655 of file qhash.c.

+ Here is the call graph for this function:

Variable Documentation

u8 min_log2_table[256]
static

Definition at line 70 of file qhash.c.