FD.io VPP
v21.01.1
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 95 of file l2_flood.c.
enum l2flood_error_t |
Enumerator | |
---|---|
L2FLOOD_N_ERROR |
Definition at line 102 of file l2_flood.c.
enum l2flood_next_t |
Enumerator | |
---|---|
L2FLOOD_NEXT_L2_OUTPUT | |
L2FLOOD_NEXT_DROP | |
L2FLOOD_N_NEXT |
Definition at line 116 of file l2_flood.c.
|
static |
Set subinterface flood enable/disable.
The CLI format is: set interface l2 flood <interface> [disable]
Definition at line 432 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 413 of file l2_flood.c.
|
static |
(constructor) VLIB_CLI_COMMAND (int_flood_cli)
Definition at line 472 of file l2_flood.c.
|
static |
Definition at line 110 of file l2_flood.c.
l2flood_main_t l2flood_main |
Definition at line 92 of file l2_flood.c.
vlib_node_registration_t l2flood_node |
(constructor) VLIB_REGISTER_NODE (l2flood_node)
Definition at line 366 of file l2_flood.c.