![]()  | 
  
    FD.io VPP
    v21.01.1
    
   Vector Packet Processing 
   | 
 
Ethernet Forwarding. More...
 Include dependency graph for l2_fwd.c: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)