FD.io VPP  v16.09
Vector Packet Processing
l2_fib.c File Reference
+ Include dependency graph for l2_fib.c:

Go to the source code of this file.

Data Structures

struct  l2fib_main_t
 

Functions

u8format_vnet_sw_if_index_name_with_NA (u8 *s, va_list *args)
 Format sw_if_index. More...
 
void l2fib_table_dump (u32 bd_index, l2fib_entry_key_t **l2fe_key, l2fib_entry_result_t **l2fe_res)
 
static clib_error_tshow_l2fib (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 Display the contents of the l2fib. More...
 
void l2fib_clear_table (uint keep_static)
 
static clib_error_tclear_l2fib (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 Clear all entries in L2FIB. More...
 
void l2fib_add_entry (u64 mac, u32 bd_index, u32 sw_if_index, u32 static_mac, u32 filter_mac, u32 bvi_mac)
 Add an entry to the l2fib. More...
 
static clib_error_tl2fib_add (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 Add an entry to the L2FIB. More...
 
static clib_error_tl2fib_test_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
u32 l2fib_del_entry (u64 mac, u32 bd_index)
 Delete an entry from the l2fib. More...
 
static clib_error_tl2fib_del (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 Delete an entry from the L2FIB. More...
 
 BVT (clib_bihash)
 
clib_error_tl2fib_init (vlib_main_t *vm)
 

Variables

l2fib_main_t l2fib_main
 
static vlib_cli_command_t show_l2fib_cli
 (constructor) VLIB_CLI_COMMAND (show_l2fib_cli) More...
 
static vlib_cli_command_t clear_l2fib_cli
 (constructor) VLIB_CLI_COMMAND (clear_l2fib_cli) More...
 
static vlib_cli_command_t l2fib_add_cli
 (constructor) VLIB_CLI_COMMAND (l2fib_add_cli) More...
 
static vlib_cli_command_t l2fib_test_command
 (constructor) VLIB_CLI_COMMAND (l2fib_test_command) More...
 
static vlib_cli_command_t l2fib_del_cli
 (constructor) VLIB_CLI_COMMAND (l2fib_del_cli) More...
 

Function Documentation

BVT ( clib_bihash  )

Definition at line 577 of file l2_fib.c.

+ Here is the caller graph for this function:

static clib_error_t* clear_l2fib ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Clear all entries in L2FIB.

: Later we may want a way to remove only the non-static entries

Definition at line 235 of file l2_fib.c.

+ Here is the call graph for this function:

u8* format_vnet_sw_if_index_name_with_NA ( u8 s,
va_list *  args 
)

Format sw_if_index.

If the value is ~0, use the text "N/A"

Definition at line 49 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* l2fib_add ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Add an entry to the L2FIB.

The CLI format is: l2fib add <mac> <bd> <intf> [static] [bvi] l2fib add <mac> <bd> filter Note that filter and bvi entries are always static

Definition at line 296 of file l2_fib.c.

+ Here is the call graph for this function:

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

Add an entry to the l2fib.

If the entry already exists then overwrite it

Definition at line 256 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 212 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* l2fib_del ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Delete an entry from the L2FIB.

The CLI format is: l2fib del <mac> <bd-id>

Definition at line 525 of file l2_fib.c.

+ Here is the call graph for this function:

u32 l2fib_del_entry ( u64  mac,
u32  bd_index 
)

Delete an entry from the l2fib.

Return 0 if the entry was deleted, or 1 if it was not found

Definition at line 490 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* l2fib_init ( vlib_main_t vm)

Definition at line 584 of file l2_fib.c.

+ Here is the call 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 62 of file l2_fib.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* l2fib_test_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 377 of file l2_fib.c.

+ Here is the call graph for this function:

static clib_error_t* show_l2fib ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Display the contents of the l2fib.

Definition at line 102 of file l2_fib.c.

+ Here is the call graph for this function:

Variable Documentation

vlib_cli_command_t clear_l2fib_cli
static
Initial value:
= {
.path = "clear l2fib",
.short_help = "Clear l2fib mac forwarding entries",
.function = clear_l2fib,
}
static clib_error_t * clear_l2fib(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Clear all entries in L2FIB.
Definition: l2_fib.c:235

(constructor) VLIB_CLI_COMMAND (clear_l2fib_cli)

Definition at line 243 of file l2_fib.c.

vlib_cli_command_t l2fib_add_cli
static
Initial value:
= {
.path = "l2fib add",
.short_help = "Add l2fib mac forwarding entry <mac> <bd-id> filter | <intf> [static | bvi]",
.function = l2fib_add,
}
static clib_error_t * l2fib_add(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Add an entry to the L2FIB.
Definition: l2_fib.c:296

(constructor) VLIB_CLI_COMMAND (l2fib_add_cli)

Definition at line 368 of file l2_fib.c.

vlib_cli_command_t l2fib_del_cli
static
Initial value:
= {
.path = "l2fib del",
.short_help = "Delete l2fib mac forwarding entry <mac> <bd-id>",
.function = l2fib_del,
}
static clib_error_t * l2fib_del(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Delete an entry from the L2FIB.
Definition: l2_fib.c:525

(constructor) VLIB_CLI_COMMAND (l2fib_del_cli)

Definition at line 569 of file l2_fib.c.

l2fib_main_t l2fib_main

Definition at line 44 of file l2_fib.c.

vlib_cli_command_t l2fib_test_command
static
Initial value:
= {
.path = "test l2fib",
.short_help = "test l2fib [del] mac <base-addr> count <nn>",
.function = l2fib_test_command_fn,
}
static clib_error_t * l2fib_test_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: l2_fib.c:377

(constructor) VLIB_CLI_COMMAND (l2fib_test_command)

Definition at line 477 of file l2_fib.c.

vlib_cli_command_t show_l2fib_cli
static
Initial value:
= {
.path = "show l2fib",
.short_help = "show l2fib [verbose | bd_id <nn> | bd_index <nn> | raw]",
.function = show_l2fib,
}
static clib_error_t * show_l2fib(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Display the contents of the l2fib.
Definition: l2_fib.c:102

(constructor) VLIB_CLI_COMMAND (show_l2fib_cli)

Definition at line 202 of file l2_fib.c.