X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fl2%2Fl2_output.h;h=a6db776841d0e048a9bf5210f37e9b7b461dbbdf;hb=a1179589bea89b44f7b41001b5e5595a8793b1df;hp=a54b8d67c9392f5f0094df3bcd95948835e9fa1f;hpb=001fd406df771f1cf73ca0dea440c8bde309e077;p=vpp.git diff --git a/src/vnet/l2/l2_output.h b/src/vnet/l2/l2_output.h index a54b8d67c93..a6db776841d 100644 --- a/src/vnet/l2/l2_output.h +++ b/src/vnet/l2/l2_output.h @@ -28,8 +28,6 @@ typedef struct { - u32 feature_bitmap; - /* * vlan tag rewrite for ingress and egress * ingress vtr is located here because the same config data is used for @@ -40,9 +38,7 @@ typedef struct ptr_config_t input_pbb_vtr; ptr_config_t output_pbb_vtr; - /* some of these flags may get integrated into the feature bitmap */ - u8 fwd_enable; - u8 flood_enable; + u32 feature_bitmap; /* split horizon group */ u8 shg; @@ -75,7 +71,7 @@ typedef struct vnet_main_t *vnet_main; } l2output_main_t; -l2output_main_t l2output_main; +extern l2output_main_t l2output_main; extern vlib_node_registration_t l2output_node; @@ -85,6 +81,7 @@ extern vlib_node_registration_t l2output_node; #define foreach_l2output_feat \ _(OUTPUT, "interface-output") \ _(SPAN, "span-l2-output") \ + _(GBP_POLICY, "gbp-policy") \ _(CFM, "feature-bitmap-drop") \ _(QOS, "feature-bitmap-drop") \ _(ACL, "l2-output-acl") \ @@ -94,6 +91,7 @@ extern vlib_node_registration_t l2output_node; _(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") /* Feature bitmap positions */ @@ -110,6 +108,7 @@ STATIC_ASSERT (L2OUTPUT_N_FEAT <= 32, "too many l2 output features"); /* Feature bit masks */ typedef enum { + L2OUTPUT_FEAT_NONE = 0, #define _(sym,str) L2OUTPUT_FEAT_##sym = (1<