![]() |
FD.io VPP
v20.01-48-g3e0dafb74
Vector Packet Processing
|
Layer 2 Output Classifier. More...
Include dependency graph for l2_output_classify.c: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 } |
Functions | |
| static u8 * | format_l2_output_classify_trace (u8 *s, va_list *args) |
| Packet trace format function. More... | |
| VLIB_NODE_FN() | l2_output_classify_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
| l2 output classifier node. More... | |
| clib_error_t * | l2_output_classify_init (vlib_main_t *vm) |
| l2 output classsifier feature initialization. More... | |
| clib_error_t * | l2_output_classify_worker_init (vlib_main_t *vm) |
| 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. More... | |
| 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. More... | |
| static clib_error_t * | int_l2_output_classify_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
Variables | |
| l2_output_classify_main_t | l2_output_classify_main |
| l2 output classifier main data structure. More... | |
| static char * | l2_output_classify_error_strings [] |
| vlib_node_registration_t | l2_output_classify_node |
| (constructor) VLIB_REGISTER_NODE (l2_output_classify_node) More... | |
| 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 69 of file l2_output_classify.c.
| Enumerator | |
|---|---|
| L2_OUTPUT_CLASSIFY_N_ERROR | |
Definition at line 75 of file l2_output_classify.c.
Packet trace format function.
Definition at line 49 of file l2_output_classify.c.
Here is the call graph for this function:
|
static |
| clib_error_t* l2_output_classify_init | ( | vlib_main_t * | vm | ) |
l2 output classsifier feature initialization.
Definition at line 463 of file l2_output_classify.c.
Here is the call graph for this function:| VLIB_NODE_FN() l2_output_classify_node | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame | ||
| ) |
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, per-protocol 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->advancevlib_buffer_advance when the classifier hits on a session(vnet_classify_table_t) t0->miss_next_indexSets:
vnet_buffer (b0)->l2_classify.table_indexvnet_buffer (b0)->l2_classify.hashvnet_buffer (b0)->l2.feature_bitmapvnet_buffer (b0)->l2_classify.opaque_indexCounters:
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 139 of file l2_output_classify.c.
Here is the call graph for this function:| clib_error_t* l2_output_classify_worker_init | ( | vlib_main_t * | vm | ) |
| VLIB_WORKER_INIT_FUNCTION | ( | l2_output_classify_worker_init | ) |
Here is the caller graph for this function:| 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 506 of file l2_output_classify.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 525 of file l2_output_classify.c.
Here is the caller graph for this function:
|
static |
(constructor) VLIB_CLI_COMMAND (int_l2_output_classify_cli)
Definition at line 639 of file l2_output_classify.c.
|
static |
Definition at line 83 of file l2_output_classify.c.
| l2_output_classify_main_t l2_output_classify_main |
l2 output classifier main data structure.
Definition at line 66 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 440 of file l2_output_classify.c.