FD.io VPP
v20.09-64-g4f7b92f0a
Vector Packet Processing
|
Ethernet Forwarding. More...
Go to the source code of this file.
Data Structures | |
struct | l2fwd_main_t |
struct | l2fwd_trace_t |
Macros | |
#define | foreach_l2fwd_error |
Enumerations | |
enum | l2fwd_error_t { L2FWD_N_ERROR } |
enum | l2fwd_next_t { L2FWD_NEXT_L2_OUTPUT, L2FWD_NEXT_DROP, L2FWD_N_NEXT } |
Functions | |
static u8 * | format_l2fwd_trace (u8 *s, va_list *args) |
static_always_inline void | l2fwd_process (vlib_main_t *vm, vlib_node_runtime_t *node, l2fwd_main_t *msm, vlib_error_main_t *em, vlib_buffer_t *b0, u32 sw_if_index0, l2fib_entry_result_t *result0, u16 *next0) |
Forward one packet based on the mac table lookup result. More... | |
static_always_inline uword | l2fwd_node_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int do_trace) |
VLIB_NODE_FN() | l2fwd_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
clib_error_t * | l2fwd_init (vlib_main_t *vm) |
void | l2fwd_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_fwd (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Set subinterface forward enable/disable. More... | |
Variables | |
l2fwd_main_t | l2fwd_main |
vlib_node_registration_t | l2fwd_node |
(constructor) VLIB_REGISTER_NODE (l2fwd_node) More... | |
static char * | l2fwd_error_strings [] |
static vlib_cli_command_t | int_fwd_cli |
(constructor) VLIB_CLI_COMMAND (int_fwd_cli) More... | |
Ethernet Forwarding.
Code in this file handles forwarding Layer 2 packets. This file calls the FIB lookup, packet learning and the packet flooding as necessary. Packet is then sent to the next graph node.
Definition in file l2_fwd.c.
#define foreach_l2fwd_error |
enum l2fwd_error_t |
enum l2fwd_next_t |
|
static |
clib_error_t* l2fwd_init | ( | vlib_main_t * | vm | ) |
VLIB_NODE_FN() l2fwd_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
static_always_inline uword l2fwd_node_inline | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame, | ||
int | do_trace | ||
) |
static_always_inline void l2fwd_process | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
l2fwd_main_t * | msm, | ||
vlib_error_main_t * | em, | ||
vlib_buffer_t * | b0, | ||
u32 | sw_if_index0, | ||
l2fib_entry_result_t * | result0, | ||
u16 * | next0 | ||
) |
void l2fwd_register_input_type | ( | vlib_main_t * | vm, |
ethernet_type_t | type, | ||
u32 | node_index | ||
) |
|
static |
(constructor) VLIB_CLI_COMMAND (int_fwd_cli)
|
static |
l2fwd_main_t l2fwd_main |
vlib_node_registration_t l2fwd_node |
(constructor) VLIB_REGISTER_NODE (l2fwd_node)