FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
gid_dictionary.h File Reference
+ Include dependency graph for gid_dictionary.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gid_ip4_table_t
 
struct  gid_ip6_table_t
 
struct  gid_mac_table
 
struct  gid_nsh_table
 
struct  gid_l2_arp_ndp_table_t
 
struct  gid_dictionary_t
 

Macros

#define GID_LOOKUP_MISS   ((u32)~0)
 
#define GID_LOOKUP_MISS_L2   ((u64)~0)
 
#define IP4_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)
 
#define IP4_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)
 
#define IP6_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)
 
#define IP6_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)
 
#define MAC_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)
 
#define MAC_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)
 
#define ARP_NDP_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)
 
#define ARP_NDP_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)
 
#define NSH_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)
 
#define NSH_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)
 

Typedefs

typedef void(* foreach_subprefix_match_cb_t) (u32, void *)
 
typedef struct gid_mac_table gid_mac_table_t
 
typedef struct gid_nsh_table gid_nsh_table_t
 

Functions

u32 gid_dictionary_add_del (gid_dictionary_t *db, gid_address_t *key, u64 value, u8 is_add)
 
u64 gid_dictionary_lookup (gid_dictionary_t *db, gid_address_t *key)
 
u32 gid_dictionary_sd_lookup (gid_dictionary_t *db, gid_address_t *dst, gid_address_t *src)
 
void gid_dictionary_init (gid_dictionary_t *db)
 
void gid_dict_foreach_subprefix (gid_dictionary_t *db, gid_address_t *eid, foreach_subprefix_match_cb_t cb, void *arg)
 
void gid_dict_foreach_l2_arp_ndp_entry (gid_dictionary_t *db, cb, void *ht)
 

Macro Definition Documentation

◆ ARP_NDP_LOOKUP_DEFAULT_HASH_MEMORY_SIZE

#define ARP_NDP_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)

Definition at line 41 of file gid_dictionary.h.

◆ ARP_NDP_LOOKUP_DEFAULT_HASH_NUM_BUCKETS

#define ARP_NDP_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)

Definition at line 40 of file gid_dictionary.h.

◆ GID_LOOKUP_MISS

#define GID_LOOKUP_MISS   ((u32)~0)

Definition at line 24 of file gid_dictionary.h.

◆ GID_LOOKUP_MISS_L2

#define GID_LOOKUP_MISS_L2   ((u64)~0)

Definition at line 25 of file gid_dictionary.h.

◆ IP4_LOOKUP_DEFAULT_HASH_MEMORY_SIZE

#define IP4_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)

Definition at line 29 of file gid_dictionary.h.

◆ IP4_LOOKUP_DEFAULT_HASH_NUM_BUCKETS

#define IP4_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)

Definition at line 28 of file gid_dictionary.h.

◆ IP6_LOOKUP_DEFAULT_HASH_MEMORY_SIZE

#define IP6_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)

Definition at line 33 of file gid_dictionary.h.

◆ IP6_LOOKUP_DEFAULT_HASH_NUM_BUCKETS

#define IP6_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)

Definition at line 32 of file gid_dictionary.h.

◆ MAC_LOOKUP_DEFAULT_HASH_MEMORY_SIZE

#define MAC_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)

Definition at line 37 of file gid_dictionary.h.

◆ MAC_LOOKUP_DEFAULT_HASH_NUM_BUCKETS

#define MAC_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)

Definition at line 36 of file gid_dictionary.h.

◆ NSH_LOOKUP_DEFAULT_HASH_MEMORY_SIZE

#define NSH_LOOKUP_DEFAULT_HASH_MEMORY_SIZE   (32<<20)

Definition at line 45 of file gid_dictionary.h.

◆ NSH_LOOKUP_DEFAULT_HASH_NUM_BUCKETS

#define NSH_LOOKUP_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)

Definition at line 44 of file gid_dictionary.h.

Typedef Documentation

◆ foreach_subprefix_match_cb_t

typedef void(* foreach_subprefix_match_cb_t) (u32, void *)

Definition at line 47 of file gid_dictionary.h.

◆ gid_mac_table_t

◆ gid_nsh_table_t

Function Documentation

◆ gid_dict_foreach_l2_arp_ndp_entry()

void gid_dict_foreach_l2_arp_ndp_entry ( gid_dictionary_t db,
cb  ,
void *  ht 
)

Definition at line 144 of file gid_dictionary.c.

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

◆ gid_dict_foreach_subprefix()

void gid_dict_foreach_subprefix ( gid_dictionary_t db,
gid_address_t eid,
foreach_subprefix_match_cb_t  cb,
void *  arg 
)

Definition at line 126 of file gid_dictionary.c.

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

◆ gid_dictionary_add_del()

u32 gid_dictionary_add_del ( gid_dictionary_t db,
gid_address_t key,
u64  value,
u8  is_add 
)

Definition at line 978 of file gid_dictionary.c.

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

◆ gid_dictionary_init()

void gid_dictionary_init ( gid_dictionary_t db)

Definition at line 1062 of file gid_dictionary.c.

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

◆ gid_dictionary_lookup()

u64 gid_dictionary_lookup ( gid_dictionary_t db,
gid_address_t key 
)

Definition at line 399 of file gid_dictionary.c.

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

◆ gid_dictionary_sd_lookup()

u32 gid_dictionary_sd_lookup ( gid_dictionary_t db,
gid_address_t dst,
gid_address_t src 
)

Definition at line 443 of file gid_dictionary.c.

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