FD.io VPP
v20.01-48-g3e0dafb74
Vector Packet Processing
|
Ethernet Flooding. More...
Go to the source code of this file.
Data Structures | |
struct | l2flood_main_t |
struct | l2flood_trace_t |
Macros | |
#define | foreach_l2flood_error |
Enumerations | |
enum | l2flood_error_t { L2FLOOD_N_ERROR } |
enum | l2flood_next_t { L2FLOOD_NEXT_L2_OUTPUT, L2FLOOD_NEXT_DROP, L2FLOOD_N_NEXT } |
Functions | |
static u8 * | format_l2flood_trace (u8 *s, va_list *args) |
VLIB_NODE_FN() | l2flood_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
clib_error_t * | l2flood_init (vlib_main_t *vm) |
void | l2flood_register_input_type (vlib_main_t *vm, ethernet_type_t type, u32 node_index) |
Add the L3 input node for this ethertype to the next nodes structure. More... | |
static clib_error_t * | int_flood (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Set subinterface flood enable/disable. More... | |
Variables | |
l2flood_main_t | l2flood_main |
static char * | l2flood_error_strings [] |
vlib_node_registration_t | l2flood_node |
(constructor) VLIB_REGISTER_NODE (l2flood_node) More... | |
static vlib_cli_command_t | int_flood_cli |
(constructor) VLIB_CLI_COMMAND (int_flood_cli) More... | |
Ethernet Flooding.
Flooding uses the packet replication infrastructure to send a copy of the packet to each member interface. Logically the replication infrastructure expects two graph nodes: a prep node that initiates replication and sends the packet to the first destination, and a recycle node that is passed the packet after it has been transmitted.
To decrease the amount of code, l2 flooding implements both functions in the same graph node. This node can tell if is it being called as the "prep" or "recycle" using replication_is_recycled().
Definition in file l2_flood.c.
#define foreach_l2flood_error |
Definition at line 96 of file l2_flood.c.
enum l2flood_error_t |
Enumerator | |
---|---|
L2FLOOD_N_ERROR |
Definition at line 103 of file l2_flood.c.
enum l2flood_next_t |
Enumerator | |
---|---|
L2FLOOD_NEXT_L2_OUTPUT | |
L2FLOOD_NEXT_DROP | |
L2FLOOD_N_NEXT |
Definition at line 117 of file l2_flood.c.
|
static |
Set subinterface flood enable/disable.
The CLI format is: set interface l2 flood <interface> [disable]
Definition at line 433 of file l2_flood.c.
clib_error_t* l2flood_init | ( | vlib_main_t * | vm | ) |
VLIB_NODE_FN() l2flood_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
void l2flood_register_input_type | ( | vlib_main_t * | vm, |
ethernet_type_t | type, | ||
u32 | node_index | ||
) |
Add the L3 input node for this ethertype to the next nodes structure.
Definition at line 414 of file l2_flood.c.
|
static |
(constructor) VLIB_CLI_COMMAND (int_flood_cli)
Definition at line 473 of file l2_flood.c.
|
static |
Definition at line 111 of file l2_flood.c.
l2flood_main_t l2flood_main |
Definition at line 93 of file l2_flood.c.
vlib_node_registration_t l2flood_node |
(constructor) VLIB_REGISTER_NODE (l2flood_node)
Definition at line 367 of file l2_flood.c.