16 #ifndef VNET_LISP_GPE_GID_DICTIONARY_H_ 17 #define VNET_LISP_GPE_GID_DICTIONARY_H_ 24 #define GID_LOOKUP_MISS ((u32)~0) 25 #define GID_LOOKUP_MISS_L2 ((u64)~0) 28 #define IP4_LOOKUP_DEFAULT_HASH_NUM_BUCKETS (64 * 1024) 29 #define IP4_LOOKUP_DEFAULT_HASH_MEMORY_SIZE (32<<20) 32 #define IP6_LOOKUP_DEFAULT_HASH_NUM_BUCKETS (64 * 1024) 33 #define IP6_LOOKUP_DEFAULT_HASH_MEMORY_SIZE (32<<20) 36 #define MAC_LOOKUP_DEFAULT_HASH_NUM_BUCKETS (64 * 1024) 37 #define MAC_LOOKUP_DEFAULT_HASH_MEMORY_SIZE (32<<20) 40 #define ARP_LOOKUP_DEFAULT_HASH_NUM_BUCKETS (64 * 1024) 41 #define ARP_LOOKUP_DEFAULT_HASH_MEMORY_SIZE (32<<20) 44 #define NSH_LOOKUP_DEFAULT_HASH_NUM_BUCKETS (64 * 1024) 45 #define NSH_LOOKUP_DEFAULT_HASH_MEMORY_SIZE (32<<20) 51 BVT (clib_bihash) ip4_lookup_table;
57 u32 ip4_prefix_len_refcount[33];
67 BVT (clib_bihash) ip6_lookup_table;
73 u64 ip6_prefix_len_refcount[129];
83 BVT (clib_bihash) mac_lookup_table;
93 BVT (clib_bihash) nsh_lookup_table;
103 BVT (clib_bihash) arp_lookup_table;
150 (
BVT (clib_bihash_kv) * kvp,
void *arg),
gid_ip4_table_t * src_ip4_table_pool
pool of source IP LPM ip4 lookup tables
gid_l2_arp_table_t arp_table
L2 ARP table.
u32 arp_lookup_table_nbuckets
struct gid_mac_table gid_mac_table_t
void gid_dictionary_init(gid_dictionary_t *db)
u32 mac_lookup_table_nbuckets
u32 gid_dictionary_add_del(gid_dictionary_t *db, gid_address_t *key, u64 value, u8 is_add)
u32 nsh_lookup_table_nbuckets
gid_ip4_table_t dst_ip4_table
destination IP LPM ip4 lookup table
void gid_dict_foreach_l2_arp_entry(gid_dictionary_t *db, void(*cb)(BVT(clib_bihash_kv)*kvp, void *arg), void *ht)
BVT(clib_bihash) mac_lookup_table
gid_ip6_table_t * src_ip6_table_pool
pool of source IP LPM ip6 lookup tables
gid_ip6_table_t dst_ip6_table
destination IP LPM ip6 lookup table
u32 ip4_lookup_table_nbuckets
u32 ip6_lookup_table_nbuckets
u8 * ip6_prefix_lengths_in_search_order
uword nsh_lookup_table_size
uword ip6_lookup_table_size
u8 * ip4_prefix_lengths_in_search_order
struct gid_nsh_table gid_nsh_table_t
void(* foreach_subprefix_match_cb_t)(u32, void *)
u32 gid_dictionary_sd_lookup(gid_dictionary_t *db, gid_address_t *dst, gid_address_t *src)
struct _gid_address_t gid_address_t
gid_nsh_table_t nsh_table
NSH lookup table.
uword mac_lookup_table_size
uword ip4_lookup_table_size
gid_mac_table_t sd_mac_table
flat source/dest mac lookup table
uword * ip4_non_empty_dst_address_length_bitmap
void gid_dict_foreach_subprefix(gid_dictionary_t *db, gid_address_t *eid, foreach_subprefix_match_cb_t cb, void *arg)
uword arp_lookup_table_size
u64 gid_dictionary_lookup(gid_dictionary_t *db, gid_address_t *key)
uword * ip6_non_empty_dst_address_length_bitmap