![]() |
FD.io VPP
v18.07.1-19-g511ce25
Vector Packet Processing
|
General L2 / L3 cross-connect, used to set up "L2 interface <--> your-favorite-tunnel-encap" tunnels. More...
Include dependency graph for l2_xcrw.c:Go to the source code of this file.
Data Structures | |
| struct | l2_xcrw_trace_t |
Functions | |
| static u8 * | format_l2_xcrw_trace (u8 *s, va_list *args) |
| static uword | l2_xcrw_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
| clib_error_t * | l2_xcrw_init (vlib_main_t *vm) |
| static uword | dummy_interface_tx (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
| static u8 * | format_xcrw_name (u8 *s, va_list *args) |
| VNET_DEVICE_CLASS (xcrw_device_class, static) | |
| static u32 | create_xcrw_interface (vlib_main_t *vm) |
| int | vnet_configure_l2_xcrw (vlib_main_t *vm, vnet_main_t *vnm, u32 l2_sw_if_index, u32 tx_fib_index, u8 *rewrite, u32 next_node_index, int is_add) |
| static clib_error_t * | set_l2_xcrw_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
| static u8 * | format_l2xcrw (u8 *s, va_list *args) |
| static clib_error_t * | show_l2xcrw_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Variables | |
| l2_xcrw_main_t | l2_xcrw_main |
| static vlib_node_registration_t | l2_xcrw_node |
| (constructor) VLIB_REGISTER_NODE (l2_xcrw_node) More... | |
| static char * | l2_xcrw_error_strings [] |
| static vlib_cli_command_t | set_l2_xcrw_command |
| (constructor) VLIB_CLI_COMMAND (set_l2_xcrw_command) More... | |
| static vlib_cli_command_t | show_l2xcrw_command |
| (constructor) VLIB_CLI_COMMAND (show_l2xcrw_command) More... | |
General L2 / L3 cross-connect, used to set up "L2 interface <--> your-favorite-tunnel-encap" tunnels.
We set up a typical L2 cross-connect or (future) bridge to hook L2 interface(s) up to the L3 stack in arbitrary ways.
Each l2_xcrw adjacency specifies 3 things:
Example: to cross-connect an L2 interface or (future) bridge to an mpls-o-gre tunnel, set up the L2 rewrite string as shown in mpls_gre_rewrite, and use "mpls-post-rewrite" to fix the GRE IP header checksum and length fields.
Definition in file l2_xcrw.c.
|
static |
|
static |
| clib_error_t* l2_xcrw_init | ( | vlib_main_t * | vm | ) |
|
static |
|
static |
|
static |
| int vnet_configure_l2_xcrw | ( | vlib_main_t * | vm, |
| vnet_main_t * | vnm, | ||
| u32 | l2_sw_if_index, | ||
| u32 | tx_fib_index, | ||
| u8 * | rewrite, | ||
| u32 | next_node_index, | ||
| int | is_add | ||
| ) |
| VNET_DEVICE_CLASS | ( | xcrw_device_class | , |
| static | |||
| ) |
Here is the caller graph for this function:
|
static |
| l2_xcrw_main_t l2_xcrw_main |
|
static |
(constructor) VLIB_REGISTER_NODE (l2_xcrw_node)
|
static |
(constructor) VLIB_CLI_COMMAND (set_l2_xcrw_command)
|
static |
(constructor) VLIB_CLI_COMMAND (show_l2xcrw_command)