FD.io VPP
v18.04-17-g3a0d853
Vector Packet Processing
|
Ethernet MAC Address FIB Table Management. More...
Go to the source code of this file.
Macros | |
#define | vl_typedefs /* define message structures */ |
#define | vl_endianfun /* define message structures */ |
#define | TIME_MAX (1.7976931348623157e+308) |
Functions | |
static void | incr_mac_address (u8 *mac) |
u8 * | format_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_t * | show_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 (void) |
static clib_error_t * | clear_l2fib (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Clear all entries in L2FIB. More... | |
static l2fib_seq_num_t | l2fib_cur_seq_num (u32 bd_index, u32 sw_if_index) |
void | l2fib_add_entry (u8 *mac, u32 bd_index, u32 sw_if_index, u8 static_mac, u8 filter_mac, u8 bvi_mac) |
Add an entry to the l2fib. More... | |
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. More... | |
static clib_error_t * | l2fib_test_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
static u32 | l2fib_del_entry_by_key (u64 raw_key) |
Delete an entry from the l2fib. More... | |
u32 | l2fib_del_entry (u8 *mac, u32 bd_index) |
Delete an entry from the l2fib. More... | |
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. More... | |
void | l2fib_start_ager_scan (vlib_main_t *vm) |
Kick off ager to scan MACs to age/delete MAC entries. More... | |
void | l2fib_flush_int_mac (vlib_main_t *vm, u32 sw_if_index) |
Flush all non static MACs from an interface. More... | |
void | l2fib_flush_bd_mac (vlib_main_t *vm, u32 bd_index) |
Flush all non static MACs in a bridge domain. More... | |
void | l2fib_flush_all_mac (vlib_main_t *vm) |
Flush all non static MACs - flushes all valid BDs. More... | |
static clib_error_t * | l2fib_flush_mac_int (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Flush MACs, except static ones, associated with an interface The CLI format is: l2fib flush-mac interface <if-name> More... | |
static clib_error_t * | l2fib_flush_mac_all (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Flush all MACs, except static ones The CLI format is: l2fib flush-mac all. More... | |
static clib_error_t * | l2fib_flush_mac_bd (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Flush bridge-domain MACs except static ones. More... | |
clib_error_t * | l2fib_sw_interface_up_down (vnet_main_t *vnm, u32 sw_if_index, u32 flags) |
VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (l2fib_sw_interface_up_down) | |
BVT (clib_bihash) | |
static_always_inline void * | allocate_mac_evt_buf (u32 client, u32 client_index) |
static_always_inline f64 | l2fib_scan (vlib_main_t *vm, f64 start_time, u8 event_only) |
static uword | l2fib_mac_age_scanner_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) |
clib_error_t * | l2fib_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... | |
static vlib_cli_command_t | l2fib_flush_mac_all_cli |
(constructor) VLIB_CLI_COMMAND (l2fib_flush_mac_all_cli) More... | |
static vlib_cli_command_t | l2fib_flush_mac_int_cli |
(constructor) VLIB_CLI_COMMAND (l2fib_flush_mac_int_cli) More... | |
static vlib_cli_command_t | l2fib_flush_mac_bd_cli |
(constructor) VLIB_CLI_COMMAND (l2fib_flush_mac_bd_cli) More... | |
vlib_node_registration_t | l2fib_mac_age_scanner_process_node |
(constructor) VLIB_REGISTER_NODE (l2fib_mac_age_scanner_process_node) More... | |
Ethernet MAC Address FIB Table Management.
The MAC Address forwarding table for bridge-domains is called the l2fib. Entries are added automatically as part of mac learning, but MAC Addresses entries can also be added manually.
Definition in file l2_fib.c.
static_always_inline void* allocate_mac_evt_buf | ( | u32 | client, |
u32 | client_index | ||
) |
BVT | ( | clib_bihash | ) |
|
static |
|
static |
|
static |
void l2fib_clear_table | ( | void | ) |
|
inlinestatic |
|
static |
void l2fib_flush_all_mac | ( | vlib_main_t * | vm | ) |
void l2fib_flush_bd_mac | ( | vlib_main_t * | vm, |
u32 | bd_index | ||
) |
void l2fib_flush_int_mac | ( | vlib_main_t * | vm, |
u32 | sw_if_index | ||
) |
|
static |
|
static |
|
static |
clib_error_t* l2fib_init | ( | vlib_main_t * | vm | ) |
|
static |
static_always_inline f64 l2fib_scan | ( | vlib_main_t * | vm, |
f64 | start_time, | ||
u8 | event_only | ||
) |
void l2fib_start_ager_scan | ( | vlib_main_t * | vm | ) |
clib_error_t* l2fib_sw_interface_up_down | ( | vnet_main_t * | vnm, |
u32 | sw_if_index, | ||
u32 | flags | ||
) |
void l2fib_table_dump | ( | u32 | bd_index, |
l2fib_entry_key_t ** | l2fe_key, | ||
l2fib_entry_result_t ** | l2fe_res | ||
) |
|
static |
|
static |
VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION | ( | l2fib_sw_interface_up_down | ) |
|
static |
(constructor) VLIB_CLI_COMMAND (clear_l2fib_cli)
|
static |
(constructor) VLIB_CLI_COMMAND (l2fib_add_cli)
|
static |
(constructor) VLIB_CLI_COMMAND (l2fib_del_cli)
|
static |
(constructor) VLIB_CLI_COMMAND (l2fib_flush_mac_all_cli)
|
static |
(constructor) VLIB_CLI_COMMAND (l2fib_flush_mac_bd_cli)
|
static |
(constructor) VLIB_CLI_COMMAND (l2fib_flush_mac_int_cli)
vlib_node_registration_t l2fib_mac_age_scanner_process_node |
(constructor) VLIB_REGISTER_NODE (l2fib_mac_age_scanner_process_node)
l2fib_main_t l2fib_main |
|
static |
(constructor) VLIB_CLI_COMMAND (l2fib_test_command)
|
static |
(constructor) VLIB_CLI_COMMAND (show_l2fib_cli)