FD.io VPP  v21.06-3-gbb25fbf28
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 { L2OUTPUT_FEAT_NONE = 0, 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, l2output_feat_masks_t 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

◆ foreach_l2output_error

#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")

Definition at line 119 of file l2_output.h.

◆ foreach_l2output_feat

#define foreach_l2output_feat
Value:
_(OUTPUT, "interface-output") \
_(SPAN, "span-l2-output") \
_(GBP_POLICY_LPM, "gbp-policy-lpm") \
_(GBP_POLICY_PORT, "gbp-policy-port") \
_(GBP_POLICY_MAC, "gbp-policy-mac") \
_(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") \
_(OUTPUT_FEAT_ARC, "l2-output-feat-arc") \
_(XCRW, "l2-xcrw")

Definition at line 81 of file l2_output.h.

Enumeration Type Documentation

◆ l2output_error_t

Enumerator
L2OUTPUT_N_ERROR 

Definition at line 134 of file l2_output.h.

◆ l2output_feat_masks_t

Enumerator
L2OUTPUT_FEAT_NONE 
foreach_l2output_feat 

Definition at line 111 of file l2_output.h.

◆ l2output_feat_t

Enumerator
L2OUTPUT_N_FEAT 

Definition at line 100 of file l2_output.h.

◆ l2output_next_t

Enumerator
L2OUTPUT_NEXT_DROP 
L2OUTPUT_NEXT_BAD_INTF 
L2OUTPUT_N_NEXT 

Definition at line 127 of file l2_output.h.

Function Documentation

◆ format_l2_output_features()

u8* format_l2_output_features ( u8 s,
va_list *  args 
)

Definition at line 44 of file l2_output.c.

+ Here is the caller graph for this function:

◆ l2output_create_output_node_mapping()

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 601 of file l2_output.c.

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

◆ l2output_get_feat_names()

char** l2output_get_feat_names ( void  )

Definition at line 38 of file l2_output.c.

+ Here is the caller graph for this function:

◆ l2output_intf_bitmap_enable()

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

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

Definition at line 625 of file l2_output.c.

+ Here is the caller graph for this function:

◆ l2output_intf_config()

l2_output_config_t* l2output_intf_config ( u32  sw_if_index)

Get a pointer to the config for the given interface.

Definition at line 615 of file l2_output.c.

+ Here is the caller graph for this function:

◆ STATIC_ASSERT()

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

Variable Documentation

◆ l2output_main

l2output_main_t l2output_main

Definition at line 77 of file l2_output.c.

◆ l2output_node

vlib_node_registration_t l2output_node

(constructor) VLIB_REGISTER_NODE (l2output_node)

Definition at line 446 of file l2_output.c.

GBP_POLICY_PORT
@ GBP_POLICY_PORT
Definition: gbp.h:52
DROP
DROP
Definition: error.def:41
GBP_POLICY_LPM
@ GBP_POLICY_LPM
Definition: gbp.h:54
GBP_POLICY_MAC
@ GBP_POLICY_MAC
Definition: gbp.h:53