17 #define BIHASH_TYPE _40_8 18 #define BIHASH_KVP_PER_PAGE 4 20 #ifndef __included_bihash_40_8_h__ 21 #define __included_bihash_40_8_h__ 38 if (v->
key[0] == ~0ULL && v->
value == ~0ULL)
48 value = _mm_crc32_u64 (value, v->
key[0]);
49 value = _mm_crc32_u64 (value, v->
key[1]);
50 value = _mm_crc32_u64 (value, v->
key[2]);
51 value = _mm_crc32_u64 (value, v->
key[3]);
52 value = _mm_crc32_u64 (value, v->
key[4]);
65 s =
format (s,
"key %llu %llu %llu %llu %llu value %llu",
74 return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) | (a[3] ^ b[3]) |
78 #undef __included_bihash_template_h__
Fixed length block allocator.
static u64 clib_xxhash(u64 key)
static int clib_bihash_key_compare_40_8(const u64 *a, const u64 *b)
static int clib_bihash_is_free_40_8(const clib_bihash_kv_40_8_t *v)
static u64 clib_bihash_hash_40_8(const clib_bihash_kv_40_8_t *v)
static u8 * format_bihash_kvp_40_8(u8 *s, va_list *args)