18 #define BIHASH_TYPE _48_8 19 #define BIHASH_KVP_PER_PAGE 4 21 #ifndef __included_bihash_48_8_h__ 22 #define __included_bihash_48_8_h__ 39 if (v->
key[0] == ~0ULL && v->
value == ~0ULL)
45 #ifndef __defined_crc_u32__ 46 #define __defined_crc_u32__ 50 __asm__
volatile (
"crc32l %[data], %[value];":[value]
"+r" (value):[data]
72 value =
crc_u32 (dp[10], value);
73 value =
crc_u32 (dp[11], value);
92 s =
format (s,
"key %llu %llu %llu %llu %llu %llu value %llu", v->
key[0],
101 return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) | (a[3] ^ b[3])
102 | (a[4] ^ b[4]) | (a[5] ^ b[5])) == 0;
105 #undef __included_bihash_template_h__ static u64 clib_bihash_hash_48_8(const clib_bihash_kv_48_8_t *v)
Fixed length block allocator.
static u64 clib_xxhash(u64 key)
static u32 crc_u32(u32 data, u32 value)
static u8 * format_bihash_kvp_48_8(u8 *s, va_list *args)
static int clib_bihash_is_free_48_8(const clib_bihash_kv_48_8_t *v)
static int clib_bihash_key_compare_48_8(const u64 *a, const u64 *b)