FD.io VPP
v18.11-rc0-18-g2a3fb1a
Vector Packet Processing
|
Layer 2 Output Classifier. More...
Go to the source code of this file.
Data Structures | |
struct | l2_output_classify_trace_t |
struct | l2_output_classify_runtime_t |
Macros | |
#define | foreach_l2_output_classify_error |
Enumerations | |
enum | l2_output_classify_error_t { L2_OUTPUT_CLASSIFY_N_ERROR } |
Variables | |
l2_output_classify_main_t | l2_output_classify_main |
l2 output classifier main data structure. More... | |
vlib_node_registration_t | l2_output_classify_node |
(constructor) VLIB_REGISTER_NODE (l2_output_classify_node) More... | |
static char * | l2_output_classify_error_strings [] |
static vlib_cli_command_t | int_l2_output_classify_cli |
(constructor) VLIB_CLI_COMMAND (int_l2_output_classify_cli) More... | |
Layer 2 Output Classifier.
Definition in file l2_output_classify.c.
#define foreach_l2_output_classify_error |
Definition at line 67 of file l2_output_classify.c.
Enumerator | |
---|---|
L2_OUTPUT_CLASSIFY_N_ERROR |
Definition at line 73 of file l2_output_classify.c.
Packet trace format function.
Definition at line 49 of file l2_output_classify.c.
|
static |
clib_error_t* l2_output_classify_init | ( | vlib_main_t * | vm | ) |
l2 output classsifier feature initialization.
Definition at line 464 of file l2_output_classify.c.
|
static |
l2 output classifier node.
l2-output-classify
This is the l2 output classifier dispatch node
vm | vlib_main_t corresponding to the current thread. |
node | vlib_node_runtime_t data for this node. |
frame | vlib_frame_t whose contents should be dispatched. |
Uses:
(l2_output_classify_runtime_t *) rt->classify_table_index_by_sw_if_index
Head of the per-interface, perprotocol classifier table chain for a specific interface. ~0 => send pkts to the next feature in the L2 feature chain.vnet_buffer(b)->sw_if_index[VLIB_TX]
sw_if_index
value of the interface that the packet was received on.vnet_buffer (b0)->l2.feature_bitmap
(vnet_classify_entry_t) e0->next_index
(vnet_classify_entry_t) e0->advance
vlib_buffer_advance
when the classifier hits on a session(vnet_classify_table_t) t0->miss_next_index
Sets:
vnet_buffer (b0)->l2_classify.table_index
vnet_buffer (b0)->l2_classify.hash
vnet_buffer (b0)->l2.feature_bitmap
vnet_buffer (b0)->l2_classify.opaque_index
Counters:
L2_OUTPUT_CLASSIFY_ERROR_MISS
Classifier missesL2_OUTPUT_CLASSIFY_ERROR_HIT
Classifier hitsL2_OUTPUT_CLASSIFY_ERROR_CHAIN_HIT
Classifier hits in other than the first table Definition at line 138 of file l2_output_classify.c.
clib_error_t* l2_output_classify_worker_init | ( | vlib_main_t * | vm | ) |
VLIB_NODE_FUNCTION_MULTIARCH | ( | l2_output_classify_node | , |
l2_output_classify_node_fn | |||
) |
VLIB_WORKER_INIT_FUNCTION | ( | l2_output_classify_worker_init | ) |
void vnet_l2_output_classify_enable_disable | ( | u32 | sw_if_index, |
int | enable_disable | ||
) |
Enable/disable l2 input classification on a specific interface.
Definition at line 507 of file l2_output_classify.c.
int vnet_l2_output_classify_set_tables | ( | u32 | sw_if_index, |
u32 | ip4_table_index, | ||
u32 | ip6_table_index, | ||
u32 | other_table_index | ||
) |
Set l2 per-protocol, per-interface output classification tables.
sw_if_index | interface handle |
ip4_table_index | ip4 classification table index, or ~0 |
ip6_table_index | ip6 classification table index, or ~0 |
other_table_index | non-ip4, non-ip6 classification table index, or ~0 |
Definition at line 526 of file l2_output_classify.c.
|
static |
(constructor) VLIB_CLI_COMMAND (int_l2_output_classify_cli)
Definition at line 639 of file l2_output_classify.c.
|
static |
Definition at line 81 of file l2_output_classify.c.
l2_output_classify_main_t l2_output_classify_main |
l2 output classifier main data structure.
Definition at line 63 of file l2_output_classify.c.
vlib_node_registration_t l2_output_classify_node |
(constructor) VLIB_REGISTER_NODE (l2_output_classify_node)
Definition at line 65 of file l2_output_classify.c.