FD.io VPP  v21.01.1
Vector Packet Processing
bihash_8_16.h File Reference
+ Include dependency graph for bihash_8_16.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  clib_bihash_kv_8_16_t
 8 octet key, 8 octet key value pair More...
 

Macros

#define BIHASH_TYPE   _8_16
 
#define BIHASH_KVP_PER_PAGE   7
 
#define BIHASH_KVP_AT_BUCKET_LEVEL   1
 
#define BIHASH_LAZY_INSTANTIATE   0
 
#define BIHASH_BUCKET_PREFETCH_CACHE_LINES   2
 
#define BIHASH_USE_HEAP   1
 

Functions

static int clib_bihash_is_free_8_16 (clib_bihash_kv_8_16_t *v)
 Decide if a clib_bihash_kv_8_16_t instance is free. More...
 
static u64 clib_bihash_hash_8_16 (clib_bihash_kv_8_16_t *v)
 Hash a clib_bihash_kv_8_16_t instance. More...
 
static u8format_bihash_kvp_8_16 (u8 *s, va_list *args)
 Format a clib_bihash_kv_8_16_t instance. More...
 
static int clib_bihash_key_compare_8_16 (u64 a, u64 b)
 Compare two clib_bihash_kv_8_16_t instances. More...
 

Macro Definition Documentation

◆ BIHASH_BUCKET_PREFETCH_CACHE_LINES

#define BIHASH_BUCKET_PREFETCH_CACHE_LINES   2

Definition at line 28 of file bihash_8_16.h.

◆ BIHASH_KVP_AT_BUCKET_LEVEL

#define BIHASH_KVP_AT_BUCKET_LEVEL   1

Definition at line 26 of file bihash_8_16.h.

◆ BIHASH_KVP_PER_PAGE

#define BIHASH_KVP_PER_PAGE   7

Definition at line 25 of file bihash_8_16.h.

◆ BIHASH_LAZY_INSTANTIATE

#define BIHASH_LAZY_INSTANTIATE   0

Definition at line 27 of file bihash_8_16.h.

◆ BIHASH_TYPE

#define BIHASH_TYPE   _8_16

Definition at line 24 of file bihash_8_16.h.

◆ BIHASH_USE_HEAP

#define BIHASH_USE_HEAP   1

Definition at line 29 of file bihash_8_16.h.

Function Documentation

◆ clib_bihash_hash_8_16()

static u64 clib_bihash_hash_8_16 ( clib_bihash_kv_8_16_t v)
inlinestatic

Hash a clib_bihash_kv_8_16_t instance.

Parameters
v- pointer to the (key,value) pair, hash the key (only)

Definition at line 62 of file bihash_8_16.h.

+ Here is the call graph for this function:

◆ clib_bihash_is_free_8_16()

static int clib_bihash_is_free_8_16 ( clib_bihash_kv_8_16_t v)
inlinestatic

Decide if a clib_bihash_kv_8_16_t instance is free.

Parameters
v-pointer to the (key,value) pair

Definition at line 51 of file bihash_8_16.h.

◆ clib_bihash_key_compare_8_16()

static int clib_bihash_key_compare_8_16 ( u64  a,
u64  b 
)
inlinestatic

Compare two clib_bihash_kv_8_16_t instances.

Parameters
a- first key
b- second key

Definition at line 93 of file bihash_8_16.h.

◆ format_bihash_kvp_8_16()

static u8* format_bihash_kvp_8_16 ( u8 s,
va_list *  args 
)
inlinestatic

Format a clib_bihash_kv_8_16_t instance.

Parameters
s- u8 * vector under construction
args(vararg) - the (key,value) pair to format
Returns
s - the u8 * vector under construction

Definition at line 78 of file bihash_8_16.h.