Go to the source code of this file.
|
void | l2_emulation_enable (u32 sw_if_index) |
| L2 Emulation is a feautre that is applied to L2 ports to 'extract' IP packets from the L2 path and inject them into the L3 path (i.e. More...
|
|
void | l2_emulation_disable (u32 sw_if_index) |
|
static clib_error_t * | l2_emulation_interface_add_del (vnet_main_t *vnm, u32 sw_if_index, u32 is_add) |
|
| VNET_SW_INTERFACE_ADD_DEL_FUNCTION (l2_emulation_interface_add_del) |
|
static clib_error_t * | l2_emulation_cli (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static clib_error_t * | l2_emulation_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static uword | l2_emulation_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static u8 * | format_l2_emulation_trace (u8 *s, va_list *args) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (l2_emulation_node, l2_emulation_node_fn) |
|
static clib_error_t * | l2_emulation_init (vlib_main_t *vm) |
|
#define foreach_l2_emulation |
Value:
Definition at line 193 of file l2e.c.
Grouping of global data for the L2 emulation feature.
Per-interface L2 configuration.
Enumerator |
---|
L2_EMULATION_N_ERROR |
|
Definition at line 197 of file l2e.c.
Enumerator |
---|
L2_EMULATION_N_NEXT |
|
Definition at line 211 of file l2e.c.
static u8* format_l2_emulation_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
static |
void l2_emulation_disable |
( |
u32 |
sw_if_index | ) |
|
Definition at line 79 of file l2e.c.
void l2_emulation_enable |
( |
u32 |
sw_if_index | ) |
|
L2 Emulation is a feautre that is applied to L2 ports to 'extract' IP packets from the L2 path and inject them into the L3 path (i.e.
into the appropriate ip[4|6]_input node). L3 routes in the table_id for that interface should then be configured as DVR routes, therefore the forwarded packet has the L2 header preserved and togehter the L3 routed system behaves like an L2 bridge.
Definition at line 58 of file l2e.c.
Definition at line 93 of file l2e.c.
A zero'd out struct we can use in the vec_validate.
Definition at line 50 of file l2e.c.
Initial value:= {
.path = "set interface l2 l2-emulation",
.short_help =
"set interface l2 l2-emulation <interface-name> [disable|enable]\n",
}
static clib_error_t * l2_emulation_cli(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (l2_emulation_cli_node)
Definition at line 148 of file l2e.c.
char* l2_emulation_error_strings[] |
|
static |
Initial value:= {
#define _(sym,string)
}
#define foreach_l2_emulation
Definition at line 205 of file l2e.c.
Definition at line 33 of file l2e.c.
Initial value:= {
.name = "l2-emulation",
.vector_size =
sizeof (
u32),
.next_nodes = {
[L2_EMULATION_NEXT_IP4] = "ip4-input",
[L2_EMULATION_NEXT_IP6] = "ip6-input",
},
}
static char * l2_emulation_error_strings[]
static u8 * format_l2_emulation_trace(u8 *s, va_list *args)
static uword l2_emulation_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
(constructor) VLIB_REGISTER_NODE (l2_emulation_node)
Definition at line 439 of file l2e.c.
Initial value:= {
.path = "show interface l2 l2-emulation",
.short_help = "show interface l2 l2-emulation\n",
}
static clib_error_t * l2_emulation_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (l2_emulation_show_node)
Definition at line 186 of file l2e.c.
Per-interface vector of emulation configs.
Definition at line 55 of file l2e.c.