|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
16 #undef BIHASH_KVP_PER_PAGE
17 #undef BIHASH_32_64_SVM
18 #undef BIHASH_ENABLE_STATS
19 #undef BIHASH_KVP_AT_BUCKET_LEVEL
20 #undef BIHASH_LAZY_INSTANTIATE
21 #undef BIHASH_BUCKET_PREFETCH_CACHE_LINES
23 #define BIHASH_TYPE _vec8_8
24 #define BIHASH_KVP_PER_PAGE 4
25 #define BIHASH_KVP_AT_BUCKET_LEVEL 0
26 #define BIHASH_LAZY_INSTANTIATE 1
27 #define BIHASH_BUCKET_PREFETCH_CACHE_LINES 1
29 #ifndef __included_bihash_vec8_8_h__
30 #define __included_bihash_vec8_8_h__
51 if (v->
key == ~0ULL && v->
value == ~0ULL)
64 #ifdef clib_crc32c_uses_intrinsics
65 return clib_crc32c (keyp,
vec_len (keyp));
73 sum ^= keyp[
i] << (j * 8);
94 s =
format (s,
"key %U value %llu",
106 u8 *
a = (
u8 *) a_arg;
107 u8 *
b = (
u8 *) b_arg;
109 if (a_arg == ~0ULL || b_arg == ~0ULL)
118 #undef __included_bihash_template_h__
8 octet key, 8 octet key value pair
static int clib_bihash_key_compare_vec8_8(u64 a_arg, u64 b_arg)
Compare two clib_bihash_kv_vec8_8_t instances.
static u8 * format_bihash_kvp_vec8_8(u8 *s, va_list *args)
Format a clib_bihash_kv_vec8_8_t instance.
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
Fixed length block allocator. Pools are built from clib vectors and bitmaps. Use pools when repeatedl...
static u64 clib_xxhash(u64 key)
description fragment has unexpected format
static u64 clib_bihash_hash_vec8_8(clib_bihash_kv_vec8_8_t *v)
Hash a clib_bihash_kv_vec8_8_t instance.
static int clib_bihash_is_free_vec8_8(clib_bihash_kv_vec8_8_t *v)
Decide if a clib_bihash_kv_vec8_8_t instance is free.