FD.io VPP
v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
|
General L2 / L3 cross-connect, used to set up "L2 interface <--> your-favorite-tunnel-encap" tunnels. More...
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) |
VLIB_NODE_FN() | l2_xcrw_node (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 char * | l2_xcrw_error_strings [] |
vlib_node_registration_t | l2_xcrw_node |
(constructor) VLIB_REGISTER_NODE (l2_xcrw_node) More... | |
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 | ) |
VLIB_NODE_FN() l2_xcrw_node | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
|
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 | |||
) |
|
static |
l2_xcrw_main_t l2_xcrw_main |
vlib_node_registration_t l2_xcrw_node |
(constructor) VLIB_REGISTER_NODE (l2_xcrw_node)
|
static |
(constructor) VLIB_CLI_COMMAND (set_l2_xcrw_command)
|
static |
(constructor) VLIB_CLI_COMMAND (show_l2xcrw_command)