#include <vppinfra/error.h>
#include <vppinfra/hash.h>
#include <vppinfra/cache.h>
-#include <vppinfra/cuckoo_8_8.h>
#ifndef CLIB_CUCKOO_TYPE
#error CLIB_CUCKOO_TYPE not defined
typedef struct
{
+ CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
+
/** reduced hashes corresponding to elements */
u8 reduced_hashes[CLIB_CUCKOO_KVP_PER_BUCKET];
} CVT (clib_cuckoo);
void CV (clib_cuckoo_init) (CVT (clib_cuckoo) * h, const char *name,
- u64 nbuckets,
+ uword nbuckets,
void (*garbage_callback) (CVT (clib_cuckoo) *,
void *),
void *garbage_ctx);
void CV (clib_cuckoo_free) (CVT (clib_cuckoo) * h);
int CV (clib_cuckoo_add_del) (CVT (clib_cuckoo) * h,
- CVT (clib_cuckoo_kv) * add_v, int is_add);
+ CVT (clib_cuckoo_kv) * add_v, int is_add,
+ int dont_overwrite);
int CV (clib_cuckoo_search) (CVT (clib_cuckoo) * h,
CVT (clib_cuckoo_kv) * search_v,
CVT (clib_cuckoo_kv) * return_v);