FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
cuckoo_16_8.h File Reference
+ Include dependency graph for cuckoo_16_8.h:

Go to the source code of this file.

Data Structures

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

Macros

#define CLIB_CUCKOO_TYPE   _16_8
 
#define CLIB_CUCKOO_KVP_PER_BUCKET   (4)
 
#define CLIB_CUCKOO_LOG2_KVP_PER_BUCKET   (2)
 
#define CLIB_CUCKOO_BFS_MAX_STEPS   (2000)
 
#define CLIB_CUCKOO_BFS_MAX_PATH_LENGTH   (8)
 
#define CLIB_CUCKOO_OPTIMIZE_PREFETCH   1
 
#define CLIB_CUCKOO_OPTIMIZE_UNROLL   1
 
#define CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH   1
 

Functions

static int clib_cuckoo_kv_is_free_16_8 (const clib_cuckoo_kv_16_8_t *v)
 Decide if a clib_cuckoo_kv_16_8_t instance is free. More...
 
static void clib_cuckoo_kv_set_free_16_8 (clib_cuckoo_kv_16_8_t *v)
 
static u8format_cuckoo_kvp_16_8 (u8 *s, va_list *args)
 Format a clib_cuckoo_kv_16_8_t instance. More...
 
static u64 clib_cuckoo_hash_16_8 (clib_cuckoo_kv_16_8_t *v)
 
static int clib_cuckoo_key_compare_16_8 (u64 *a, u64 *b)
 Compare two clib_cuckoo_kv_16_8_t instances. More...
 

Macro Definition Documentation

◆ CLIB_CUCKOO_BFS_MAX_PATH_LENGTH

#define CLIB_CUCKOO_BFS_MAX_PATH_LENGTH   (8)

Definition at line 21 of file cuckoo_16_8.h.

◆ CLIB_CUCKOO_BFS_MAX_STEPS

#define CLIB_CUCKOO_BFS_MAX_STEPS   (2000)

Definition at line 20 of file cuckoo_16_8.h.

◆ CLIB_CUCKOO_KVP_PER_BUCKET

#define CLIB_CUCKOO_KVP_PER_BUCKET   (4)

Definition at line 18 of file cuckoo_16_8.h.

◆ CLIB_CUCKOO_LOG2_KVP_PER_BUCKET

#define CLIB_CUCKOO_LOG2_KVP_PER_BUCKET   (2)

Definition at line 19 of file cuckoo_16_8.h.

◆ CLIB_CUCKOO_OPTIMIZE_PREFETCH

#define CLIB_CUCKOO_OPTIMIZE_PREFETCH   1

Definition at line 36 of file cuckoo_16_8.h.

◆ CLIB_CUCKOO_OPTIMIZE_UNROLL

#define CLIB_CUCKOO_OPTIMIZE_UNROLL   1

Definition at line 37 of file cuckoo_16_8.h.

◆ CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH

#define CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH   1

Definition at line 38 of file cuckoo_16_8.h.

◆ CLIB_CUCKOO_TYPE

#define CLIB_CUCKOO_TYPE   _16_8

Definition at line 17 of file cuckoo_16_8.h.

Function Documentation

◆ clib_cuckoo_hash_16_8()

static u64 clib_cuckoo_hash_16_8 ( clib_cuckoo_kv_16_8_t v)
inlinestatic

Definition at line 91 of file cuckoo_16_8.h.

+ Here is the call graph for this function:

◆ clib_cuckoo_key_compare_16_8()

static int clib_cuckoo_key_compare_16_8 ( u64 a,
u64 b 
)
inlinestatic

Compare two clib_cuckoo_kv_16_8_t instances.

Parameters
a- first key
b- second key

Definition at line 106 of file cuckoo_16_8.h.

◆ clib_cuckoo_kv_is_free_16_8()

static int clib_cuckoo_kv_is_free_16_8 ( const clib_cuckoo_kv_16_8_t v)
inlinestatic

Decide if a clib_cuckoo_kv_16_8_t instance is free.

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

Definition at line 55 of file cuckoo_16_8.h.

+ Here is the caller graph for this function:

◆ clib_cuckoo_kv_set_free_16_8()

static void clib_cuckoo_kv_set_free_16_8 ( clib_cuckoo_kv_16_8_t v)
inlinestatic

Definition at line 63 of file cuckoo_16_8.h.

+ Here is the call graph for this function:

◆ format_cuckoo_kvp_16_8()

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

Format a clib_cuckoo_kv_16_8_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 74 of file cuckoo_16_8.h.

+ Here is the call graph for this function: