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

Go to the source code of this file.

Data Structures

struct  phash_key_t
 
struct  phash_tabb_t
 
struct  phash_tabq_t
 
struct  phash_main_t
 

Macros

#define PHASH_FLAG_MIX64   (1 << 0)
 
#define PHASH_FLAG_MIX32   (0 << 0)
 
#define PHASH_FLAG_USE_SCRAMBLE   (1 << 1)
 
#define PHASH_FLAG_SLOW_MODE   (0 << 2)
 
#define PHASH_FLAG_FAST_MODE   (1 << 2)
 
#define PHASH_FLAG_NON_MINIMAL   (0 << 3)
 
#define PHASH_FLAG_MINIMAL   (1 << 3)
 

Functions

static void phash_tabb_free (phash_tabb_t *b)
 
static void phash_main_free_working_memory (phash_main_t *pm)
 
static void phash_main_free (phash_main_t *pm)
 
uword phash_hash_slow (phash_main_t *pm, uword key)
 
clib_error_tphash_find_perfect_hash (phash_main_t *pm)
 
clib_error_tphash_validate (phash_main_t *pm)
 
int phash_test_main (unformat_input_t *input)
 

Macro Definition Documentation

◆ PHASH_FLAG_FAST_MODE

#define PHASH_FLAG_FAST_MODE   (1 << 2)

Definition at line 109 of file phash.h.

◆ PHASH_FLAG_MINIMAL

#define PHASH_FLAG_MINIMAL   (1 << 3)

Definition at line 113 of file phash.h.

◆ PHASH_FLAG_MIX32

#define PHASH_FLAG_MIX32   (0 << 0)

Definition at line 102 of file phash.h.

◆ PHASH_FLAG_MIX64

#define PHASH_FLAG_MIX64   (1 << 0)

Definition at line 101 of file phash.h.

◆ PHASH_FLAG_NON_MINIMAL

#define PHASH_FLAG_NON_MINIMAL   (0 << 3)

Definition at line 112 of file phash.h.

◆ PHASH_FLAG_SLOW_MODE

#define PHASH_FLAG_SLOW_MODE   (0 << 2)

Definition at line 108 of file phash.h.

◆ PHASH_FLAG_USE_SCRAMBLE

#define PHASH_FLAG_USE_SCRAMBLE   (1 << 1)

Definition at line 105 of file phash.h.

Function Documentation

◆ phash_find_perfect_hash()

clib_error_t* phash_find_perfect_hash ( phash_main_t pm)

Definition at line 822 of file phash.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ phash_hash_slow()

uword phash_hash_slow ( phash_main_t pm,
uword  key 
)

Definition at line 924 of file phash.c.

+ Here is the caller graph for this function:

◆ phash_main_free()

static void phash_main_free ( phash_main_t pm)
inlinestatic

Definition at line 166 of file phash.h.

+ Here is the call graph for this function:

◆ phash_main_free_working_memory()

static void phash_main_free_working_memory ( phash_main_t pm)
inlinestatic

Definition at line 155 of file phash.h.

+ Here is the caller graph for this function:

◆ phash_tabb_free()

static void phash_tabb_free ( phash_tabb_t b)
inlinestatic

Definition at line 66 of file phash.h.

+ Here is the caller graph for this function:

◆ phash_test_main()

int phash_test_main ( unformat_input_t input)
+ Here is the caller graph for this function:

◆ phash_validate()

clib_error_t* phash_validate ( phash_main_t pm)

Definition at line 981 of file phash.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: