FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
l2_classify.h File Reference
+ Include dependency graph for l2_classify.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct _l2_classify_main l2_input_classify_main_t
 
typedef struct _l2_classify_main l2_output_classify_main_t
 

Enumerations

enum  l2_input_classify_next_t {
  L2_INPUT_CLASSIFY_NEXT_DROP, L2_INPUT_CLASSIFY_NEXT_ETHERNET_INPUT, L2_INPUT_CLASSIFY_NEXT_IP4_INPUT, L2_INPUT_CLASSIFY_NEXT_IP6_INPUT,
  L2_INPUT_CLASSIFY_NEXT_LI, L2_INPUT_CLASSIFY_N_NEXT
}
 
enum  l2_input_classify_table_id_t { L2_INPUT_CLASSIFY_TABLE_IP4, L2_INPUT_CLASSIFY_TABLE_IP6, L2_INPUT_CLASSIFY_TABLE_OTHER, L2_INPUT_CLASSIFY_N_TABLES }
 
enum  l2_output_classify_next_t { L2_OUTPUT_CLASSIFY_NEXT_DROP, L2_OUTPUT_CLASSIFY_N_NEXT }
 
enum  l2_output_classify_table_id_t { L2_OUTPUT_CLASSIFY_TABLE_IP4, L2_OUTPUT_CLASSIFY_TABLE_IP6, L2_OUTPUT_CLASSIFY_TABLE_OTHER, L2_OUTPUT_CLASSIFY_N_TABLES }
 

Functions

void vnet_l2_input_classify_enable_disable (u32 sw_if_index, int enable_disable)
 Enable/disable l2 input classification on a specific interface. More...
 
int vnet_l2_input_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 input classification tables. More...
 
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...
 

Variables

l2_input_classify_main_t l2_input_classify_main
 l2 input classifier main data structure. More...
 
vlib_node_registration_t l2_input_classify_node
 (constructor) VLIB_REGISTER_NODE (l2_input_classify_node) More...
 
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...
 

Typedef Documentation

◆ l2_input_classify_main_t

typedef struct _l2_classify_main l2_input_classify_main_t

◆ l2_output_classify_main_t

typedef struct _l2_classify_main l2_output_classify_main_t

Definition at line 83 of file l2_classify.h.

Enumeration Type Documentation

◆ l2_input_classify_next_t

Enumerator
L2_INPUT_CLASSIFY_NEXT_DROP 
L2_INPUT_CLASSIFY_NEXT_ETHERNET_INPUT 
L2_INPUT_CLASSIFY_NEXT_IP4_INPUT 
L2_INPUT_CLASSIFY_NEXT_IP6_INPUT 
L2_INPUT_CLASSIFY_NEXT_LI 
L2_INPUT_CLASSIFY_N_NEXT 

Definition at line 36 of file l2_classify.h.

◆ l2_input_classify_table_id_t

Enumerator
L2_INPUT_CLASSIFY_TABLE_IP4 
L2_INPUT_CLASSIFY_TABLE_IP6 
L2_INPUT_CLASSIFY_TABLE_OTHER 
L2_INPUT_CLASSIFY_N_TABLES 

Definition at line 46 of file l2_classify.h.

◆ l2_output_classify_next_t

Enumerator
L2_OUTPUT_CLASSIFY_NEXT_DROP 
L2_OUTPUT_CLASSIFY_N_NEXT 

Definition at line 54 of file l2_classify.h.

◆ l2_output_classify_table_id_t

Enumerator
L2_OUTPUT_CLASSIFY_TABLE_IP4 
L2_OUTPUT_CLASSIFY_TABLE_IP6 
L2_OUTPUT_CLASSIFY_TABLE_OTHER 
L2_OUTPUT_CLASSIFY_N_TABLES 

Definition at line 60 of file l2_classify.h.

Function Documentation

◆ vnet_l2_input_classify_enable_disable()

void vnet_l2_input_classify_enable_disable ( u32  sw_if_index,
int  enable_disable 
)

Enable/disable l2 input classification on a specific interface.

Definition at line 517 of file l2_input_classify.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vnet_l2_input_classify_set_tables()

int vnet_l2_input_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 input classification tables.

Parameters
sw_if_indexinterface handle
ip4_table_indexip4 classification table index, or ~0
ip6_table_indexip6 classification table index, or ~0
other_table_indexnon-ip4, non-ip6 classification table index, or ~0
Returns
0 on success, VNET_API_ERROR_NO_SUCH_TABLE, TABLE2, TABLE3 if the indicated (non-~0) table does not exist.

Definition at line 535 of file l2_input_classify.c.

+ Here is the caller graph for this function:

◆ vnet_l2_output_classify_enable_disable()

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:

◆ vnet_l2_output_classify_set_tables()

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.

Parameters
sw_if_indexinterface handle
ip4_table_indexip4 classification table index, or ~0
ip6_table_indexip6 classification table index, or ~0
other_table_indexnon-ip4, non-ip6 classification table index, or ~0
Returns
0 on success, VNET_API_ERROR_NO_SUCH_TABLE, TABLE2, TABLE3 if the indicated (non-~0) table does not exist.

Definition at line 525 of file l2_output_classify.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ l2_input_classify_main

l2_input_classify_main_t l2_input_classify_main

l2 input classifier main data structure.

Definition at line 74 of file l2_input_classify.c.

◆ l2_input_classify_node

vlib_node_registration_t l2_input_classify_node

(constructor) VLIB_REGISTER_NODE (l2_input_classify_node)

Definition at line 447 of file l2_input_classify.c.

◆ l2_output_classify_main

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.

◆ l2_output_classify_node

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.