FD.io VPP  v18.04-17-g3a0d853
Vector Packet Processing
l2_output.h File Reference
+ Include dependency graph for l2_output.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  l2_output_config_t
 
struct  l2output_main_t
 

Macros

#define foreach_l2output_feat
 
#define foreach_l2output_error
 

Enumerations

enum  l2output_feat_t { L2OUTPUT_N_FEAT }
 
enum  l2output_feat_masks_t { foreach_l2output_feat }
 
enum  l2output_next_t { L2OUTPUT_NEXT_DROP, L2OUTPUT_NEXT_BAD_INTF, L2OUTPUT_N_NEXT }
 
enum  l2output_error_t { L2OUTPUT_N_ERROR }
 

Functions

 STATIC_ASSERT (L2OUTPUT_N_FEAT<=32,"too many l2 output features")
 
char ** l2output_get_feat_names (void)
 
u8format_l2_output_features (u8 *s, va_list *args)
 
void l2output_create_output_node_mapping (vlib_main_t *vlib_main, vnet_main_t *vnet_main, u32 sw_if_index)
 The next set of functions is for use by output feature graph nodes. More...
 
l2_output_config_tl2output_intf_config (u32 sw_if_index)
 Get a pointer to the config for the given interface. More...
 
void l2output_intf_bitmap_enable (u32 sw_if_index, u32 feature_bitmap, u32 enable)
 Enable (or disable) the feature in the bitmap for the given interface. More...
 

Variables

l2output_main_t l2output_main
 
vlib_node_registration_t l2output_node
 (constructor) VLIB_REGISTER_NODE (l2output_node) More...
 

Macro Definition Documentation

#define foreach_l2output_error
Value:
_(L2OUTPUT, "L2 output packets") \
_(EFP_DROP, "L2 EFP filter pre-rewrite drops") \
_(VTR_DROP, "L2 output tag rewrite drops") \
_(SHG_DROP, "L2 split horizon drops") \
_(DROP, "L2 output drops") \
_(MAPPING_DROP, "L2 Output interface not valid")
DROP
Definition: error.def:41

Definition at line 118 of file l2_output.h.

#define foreach_l2output_feat
Value:
_(OUTPUT, "interface-output") \
_(SPAN, "span-l2-output") \
_(CFM, "feature-bitmap-drop") \
_(QOS, "feature-bitmap-drop") \
_(ACL, "l2-output-acl") \
_(L2PT, "feature-bitmap-drop") \
_(EFP_FILTER, "l2-efp-filter") \
_(IPIW, "feature-bitmap-drop") \
_(STP_BLOCKED, "feature-bitmap-drop") \
_(LINESTATUS_DOWN, "feature-bitmap-drop") \
_(OUTPUT_CLASSIFY, "l2-output-classify") \
_(XCRW, "l2-xcrw")

Definition at line 85 of file l2_output.h.

Enumeration Type Documentation

Enumerator
L2OUTPUT_N_ERROR 

Definition at line 133 of file l2_output.h.

Enumerator
foreach_l2output_feat 

Definition at line 111 of file l2_output.h.

Enumerator
L2OUTPUT_N_FEAT 

Definition at line 100 of file l2_output.h.

Enumerator
L2OUTPUT_NEXT_DROP 
L2OUTPUT_NEXT_BAD_INTF 
L2OUTPUT_N_NEXT 

Definition at line 126 of file l2_output.h.

Function Documentation

u8* format_l2_output_features ( u8 s,
va_list *  args 
)

Definition at line 44 of file l2_output.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void l2output_create_output_node_mapping ( vlib_main_t vlib_main,
vnet_main_t vnet_main,
u32  sw_if_index 
)

The next set of functions is for use by output feature graph nodes.

When the last bit has been cleared from the output feature bitmap, the next node is the output graph node for the TX sw_if_index. These functions help the feature nodes get that node index.

The next set of functions is for use by output feature graph nodes.

Definition at line 662 of file l2_output.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

char** l2output_get_feat_names ( void  )

Definition at line 38 of file l2_output.c.

+ Here is the caller graph for this function:

void l2output_intf_bitmap_enable ( u32  sw_if_index,
u32  feature_bitmap,
u32  enable 
)

Enable (or disable) the feature in the bitmap for the given interface.

Definition at line 686 of file l2_output.c.

+ Here is the caller graph for this function:

l2_output_config_t* l2output_intf_config ( u32  sw_if_index)

Get a pointer to the config for the given interface.

Definition at line 676 of file l2_output.c.

+ Here is the caller graph for this function:

STATIC_ASSERT ( L2OUTPUT_N_FEAT<=  32,
"too many l2 output features"   
)

Variable Documentation

l2output_main_t l2output_main

Definition at line 66 of file l2_output.c.

vlib_node_registration_t l2output_node

(constructor) VLIB_REGISTER_NODE (l2output_node)

Definition at line 501 of file l2_output.c.