![]() |
FD.io VPP
v18.01.2
Vector Packet Processing
|
Ethernet MAC Address FIB Table Management. More...
Include dependency graph for l2_fib.c: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 | ) |
Here is the caller graph for this function:
|
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)