FD.io VPP  v16.06
Vector Packet Processing
l2_fib.h File Reference
+ Include dependency graph for l2_fib.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  l2fib_entry_key_t
 
struct  l2fib_entry_result_t
 

Macros

#define L2FIB_NUM_BUCKETS   (64 * 1024)
 
#define L2FIB_MEMORY_SIZE   (256<<20)
 

Functions

always_inline u32 l2fib_compute_hash_bucket (l2fib_entry_key_t *key)
 
always_inline u64 l2fib_make_key (u8 *mac_address, u16 bd_index)
 
static_always_inline void l2fib_lookup_1 (BVT(clib_bihash)*mac_table, l2fib_entry_key_t *cached_key, l2fib_entry_result_t *cached_result, u8 *mac0, u16 bd_index0, l2fib_entry_key_t *key0, u32 *bucket0, l2fib_entry_result_t *result0)
 
static_always_inline void l2fib_lookup_2 (BVT(clib_bihash)*mac_table, l2fib_entry_key_t *cached_key, l2fib_entry_result_t *cached_result, u8 *mac0, u8 *mac1, u16 bd_index0, u16 bd_index1, l2fib_entry_key_t *key0, l2fib_entry_key_t *key1, u32 *bucket0, u32 *bucket1, l2fib_entry_result_t *result0, l2fib_entry_result_t *result1)
 
 BVT (clib_bihash)*get_mac_table(void)
 
void l2fib_clear_table (uint keep_static)
 
void l2fib_add_entry (u64 mac, u32 bd_index, u32 sw_if_index, u32 static_mac, u32 drop_mac, u32 bvi_mac)
 
u32 l2fib_del_entry (u64 mac, u32 bd_index)
 
void l2fib_table_dump (u32 bd_index, l2fib_entry_key_t **l2fe_key, l2fib_entry_result_t **l2fe_res)
 
u8format_vnet_sw_if_index_name_with_NA (u8 *s, va_list *args)
 

Macro Definition Documentation

#define L2FIB_MEMORY_SIZE   (256<<20)

Definition at line 28 of file l2_fib.h.

#define L2FIB_NUM_BUCKETS   (64 * 1024)

Definition at line 27 of file l2_fib.h.

Function Documentation

BVT ( clib_bihash  )

Definition at line 538 of file l2_fib.c.

+ Here is the caller graph for this function:

u8* format_vnet_sw_if_index_name_with_NA ( u8 s,
va_list *  args 
)

Definition at line 47 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void l2fib_add_entry ( u64  mac,
u32  bd_index,
u32  sw_if_index,
u32  static_mac,
u32  drop_mac,
u32  bvi_mac 
)

Definition at line 243 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void l2fib_clear_table ( uint  keep_static)

Definition at line 207 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline u32 l2fib_compute_hash_bucket ( l2fib_entry_key_t key)

Definition at line 70 of file l2_fib.h.

u32 l2fib_del_entry ( u64  mac,
u32  bd_index 
)

Definition at line 459 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline void l2fib_lookup_1 ( BVT(clib_bihash)*  mac_table,
l2fib_entry_key_t cached_key,
l2fib_entry_result_t cached_result,
u8 mac0,
u16  bd_index0,
l2fib_entry_key_t key0,
u32 bucket0,
l2fib_entry_result_t result0 
)

Definition at line 118 of file l2_fib.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline void l2fib_lookup_2 ( BVT(clib_bihash)*  mac_table,
l2fib_entry_key_t cached_key,
l2fib_entry_result_t cached_result,
u8 mac0,
u8 mac1,
u16  bd_index0,
u16  bd_index1,
l2fib_entry_key_t key0,
l2fib_entry_key_t key1,
u32 bucket0,
u32 bucket1,
l2fib_entry_result_t result0,
l2fib_entry_result_t result1 
)

Definition at line 161 of file l2_fib.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline u64 l2fib_make_key ( u8 mac_address,
u16  bd_index 
)

Definition at line 84 of file l2_fib.h.

+ Here is the caller graph for this function:

void l2fib_table_dump ( u32  bd_index,
l2fib_entry_key_t **  l2fe_key,
l2fib_entry_result_t **  l2fe_res 
)

Definition at line 59 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: