
int CV()  clib_cuckoo_search (CVT(clib_cuckoo)*h, CVT(clib_cuckoo_kv)*search_v, CVT(clib_cuckoo_kv)*return_v) 

static  CVT (clib_cuckoo_bucket) 

static uword CV()  clib_cuckoo_get_nbuckets (CVT(clib_cuckoo)*h) 

static uword CV()  clib_cuckoo_elt_in_bucket_to_offset (CVT(clib_cuckoo_bucket)*b, CVT(clib_cuckoo_kv)*e) 

u8 *CV()  format_cuckoo_elt (u8 *s, va_list *args) 

u8 *CV()  format_cuckoo_bucket (u8 *s, va_list *args) 

void CV()  clib_cuckoo_init (CVT(clib_cuckoo)*h, const char *name, uword nbuckets, void(*garbage_callback)(CVT(clib_cuckoo)*, void *), void *garbage_ctx) 

void CV()  clib_cuckoo_free (CVT(clib_cuckoo)*h) 

static clib_cuckoo_bucket_aux_t CV()  clib_cuckoo_bucket_version_bump_and_lock (CVT(clib_cuckoo_bucket)*b) 

static void CV()  clib_cuckoo_bucket_unlock (CVT(clib_cuckoo_bucket)*b, clib_cuckoo_bucket_aux_t aux) 

static clib_cuckoo_path_t *CV()  clib_cuckoo_path_get (CVT(clib_cuckoo)*h) 

static void CV()  clib_cuckoo_path_put (CVT(clib_cuckoo)*h, uword path_idx) 

static clib_cuckoo_path_t *CV()  clib_cuckoo_path_begin (CVT(clib_cuckoo)*h, uword bucket, uword next_offset) 

static uword CV()  clib_cuckoo_path_extend (CVT(clib_cuckoo)*h, uword path_idx, uword bucket, unsigned offset) 
 create a new path based on existing path extended by adding a bucket and offset More...


static uword CV()  clib_cuckoo_path_peek_offset (const clib_cuckoo_path_t *path) 
 return the offset of the last element in the path More...


static  CVT (clib_cuckoo_kv) 

static void  clib_cuckoo_path_walk (CVT(clib_cuckoo)*h, uword path_idx, uword *buckets, uword *offsets) 
 walk the cuckoo path two ways, first backwards, extracting offsets, then forward, extracting buckets More...


static int CV()  clib_cuckoo_find_empty_slot_bfs (CVT(clib_cuckoo)*h, clib_cuckoo_lookup_info_t *lookup, uword *path_idx_out, uword *found_bucket, CVT(clib_cuckoo_kv)**found_elt) 

static void CV()  clib_cuckoo_swap_elts_in_bucket (CVT(clib_cuckoo_bucket)*b, uword e1, uword e2) 

static void CV()  clib_cuckoo_bucket_tidy (CVT(clib_cuckoo_bucket)*b) 

static void CV()  clib_cuckoo_free_locked_elt (CVT(clib_cuckoo_kv)*elt) 

static void CV()  clib_cuckoo_free_elt_in_bucket (CVT(clib_cuckoo_bucket)*b, CVT(clib_cuckoo_kv)*elt) 

static void CV()  clib_cuckoo_set_locked_elt (CVT(clib_cuckoo_bucket)*b, CVT(clib_cuckoo_kv)*elt, CVT(clib_cuckoo_kv)*kvp, u8 reduced_hash) 

static void CV()  clib_cuckoo_set_elt (CVT(clib_cuckoo_bucket)*b, CVT(clib_cuckoo_kv)*elt, CVT(clib_cuckoo_kv)*kvp, u8 reduced_hash) 

static int CV()  clib_cuckoo_add_slow (CVT(clib_cuckoo)*h, CVT(clib_cuckoo_kv)*kvp, clib_cuckoo_lookup_info_t *lookup, u8 reduced_hash) 

static int CV()  clib_cuckoo_add_fast (CVT(clib_cuckoo)*h, clib_cuckoo_lookup_info_t *lookup, CVT(clib_cuckoo_kv)*kvp, u8 reduced_hash) 

void CV()  clib_cuckoo_garbage_collect (CVT(clib_cuckoo)*h) 
 perform garbage collection More...


static void CV()  clib_cuckoo_rehash (CVT(clib_cuckoo)*h) 
 expand and rehash a cuckoo hash More...


static int CV()  clib_cuckoo_bucket_search_internal (CVT(clib_cuckoo)*h, uword bucket, CVT(clib_cuckoo_kv)*kvp, CVT(clib_cuckoo_kv)**found) 

int CV()  clib_cuckoo_add_del (CVT(clib_cuckoo)*h, CVT(clib_cuckoo_kv)*kvp, int is_add) 

u8 *CV()  format_cuckoo (u8 *s, va_list *args) 

float CV()  clib_cuckoo_calculate_load_factor (CVT(clib_cuckoo)*h) 
