FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
cuckoo_8_8.h File Reference
+ Include dependency graph for cuckoo_8_8.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

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

Macros

#define CLIB_CUCKOO_TYPE   _8_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_CMP_REDUCED_HASH   1
 
#define CLIB_CUCKOO_OPTIMIZE_UNROLL   1
 
#define CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH   1
 

Functions

static int clib_cuckoo_kv_is_free_8_8 (const clib_cuckoo_kv_8_8_t *v)
 Decide if a clib_cuckoo_kv_8_8_t instance is free. More...
 
static void clib_cuckoo_kv_set_free_8_8 (clib_cuckoo_kv_8_8_t *v)
 
static u8format_cuckoo_kvp_8_8 (u8 *s, va_list *args)
 Format a clib_cuckoo_kv_8_8_t instance. More...
 
static u64 clib_cuckoo_hash_8_8 (clib_cuckoo_kv_8_8_t *v)
 
static int clib_cuckoo_key_compare_8_8 (u64 a, u64 b)
 Compare two clib_cuckoo_kv_8_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_8_8.h.

◆ CLIB_CUCKOO_BFS_MAX_STEPS

#define CLIB_CUCKOO_BFS_MAX_STEPS   (2000)

Definition at line 20 of file cuckoo_8_8.h.

◆ CLIB_CUCKOO_KVP_PER_BUCKET

#define CLIB_CUCKOO_KVP_PER_BUCKET   (4)

Definition at line 18 of file cuckoo_8_8.h.

◆ CLIB_CUCKOO_LOG2_KVP_PER_BUCKET

#define CLIB_CUCKOO_LOG2_KVP_PER_BUCKET   (2)

Definition at line 19 of file cuckoo_8_8.h.

◆ CLIB_CUCKOO_OPTIMIZE_CMP_REDUCED_HASH

#define CLIB_CUCKOO_OPTIMIZE_CMP_REDUCED_HASH   1

Definition at line 38 of file cuckoo_8_8.h.

◆ CLIB_CUCKOO_OPTIMIZE_PREFETCH

#define CLIB_CUCKOO_OPTIMIZE_PREFETCH   1

Definition at line 37 of file cuckoo_8_8.h.

◆ CLIB_CUCKOO_OPTIMIZE_UNROLL

#define CLIB_CUCKOO_OPTIMIZE_UNROLL   1

Definition at line 39 of file cuckoo_8_8.h.

◆ CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH

#define CLIB_CUCKOO_OPTIMIZE_USE_COUNT_LIMITS_SEARCH   1

Definition at line 40 of file cuckoo_8_8.h.

◆ CLIB_CUCKOO_TYPE

#define CLIB_CUCKOO_TYPE   _8_8

Definition at line 17 of file cuckoo_8_8.h.

Function Documentation

◆ clib_cuckoo_hash_8_8()

static u64 clib_cuckoo_hash_8_8 ( clib_cuckoo_kv_8_8_t v)
inlinestatic

Definition at line 92 of file cuckoo_8_8.h.

+ Here is the call graph for this function:

◆ clib_cuckoo_key_compare_8_8()

static int clib_cuckoo_key_compare_8_8 ( u64  a,
u64  b 
)
inlinestatic

Compare two clib_cuckoo_kv_8_8_t instances.

Parameters
a- first key
b- second key

Definition at line 106 of file cuckoo_8_8.h.

◆ clib_cuckoo_kv_is_free_8_8()

static int clib_cuckoo_kv_is_free_8_8 ( const clib_cuckoo_kv_8_8_t v)
inlinestatic

Decide if a clib_cuckoo_kv_8_8_t instance is free.

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

Definition at line 57 of file cuckoo_8_8.h.

+ Here is the caller graph for this function:

◆ clib_cuckoo_kv_set_free_8_8()

static void clib_cuckoo_kv_set_free_8_8 ( clib_cuckoo_kv_8_8_t v)
inlinestatic

Definition at line 65 of file cuckoo_8_8.h.

+ Here is the call graph for this function:

◆ format_cuckoo_kvp_8_8()

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

Format a clib_cuckoo_kv_8_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 76 of file cuckoo_8_8.h.

+ Here is the call graph for this function: