X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fl2%2Fl2_input.h;h=0e1e98f883d80e3f94dceaaa024b6d6f0417a75e;hb=4e783b9c901cf90e58c3f921bb17170ab23e540a;hp=f55e70371e0476f900a463c2a4d8d2726aa92430;hpb=a1179589bea89b44f7b41001b5e5595a8793b1df;p=vpp.git diff --git a/src/vnet/l2/l2_input.h b/src/vnet/l2/l2_input.h index f55e70371e0..0e1e98f883d 100644 --- a/src/vnet/l2/l2_input.h +++ b/src/vnet/l2/l2_input.h @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -102,16 +103,20 @@ l2input_bd_config (u32 bd_index) _(DROP, "feature-bitmap-drop") \ _(XCONNECT, "l2-output") \ _(FLOOD, "l2-flood") \ + _(ARP_UFWD, "l2-uu-fwd") \ _(ARP_TERM, "arp-term-l2bd") \ _(UU_FLOOD, "l2-flood") \ - _(UU_FWD, "l2-uu-fwd") \ _(GBP_FWD, "gbp-fwd") \ + _(UU_FWD, "l2-uu-fwd") \ _(FWD, "l2-fwd") \ _(RW, "l2-rw") \ _(LEARN, "l2-learn") \ _(L2_EMULATION, "l2-emulation") \ + _(GBP_LEARN, "gbp-learn-l2") \ + _(GBP_LPM_ANON_CLASSIFY, "l2-gbp-lpm-anon-classify") \ _(GBP_NULL_CLASSIFY, "gbp-null-classify") \ _(GBP_SRC_CLASSIFY, "gbp-src-classify") \ + _(GBP_LPM_CLASSIFY, "l2-gbp-lpm-classify") \ _(VTR, "l2-input-vtr") \ _(L2_IP_QOS_RECORD, "l2-ip-qos-record") \ _(VPATH, "vpath-input-l2") \ @@ -151,7 +156,7 @@ STATIC_ASSERT ((u64) L2INPUT_VALID_MASK == (1ull << L2INPUT_N_FEAT) - 1, ""); /** Return an array of strings containing graph node names of each feature */ char **l2input_get_feat_names (void); -/* arg0 - u32 feature_bitmap */ +/* arg0 - u32 feature_bitmap, arg1 - u32 verbose */ u8 *format_l2_input_features (u8 * s, va_list * args); static_always_inline u8 @@ -188,6 +193,13 @@ bd_feature_arp_term (l2_bridge_domain_t * bd_config) L2INPUT_FEAT_ARP_TERM); } +static_always_inline u8 +bd_feature_arp_ufwd (l2_bridge_domain_t * bd_config) +{ + return ((bd_config->feature_bitmap & L2INPUT_FEAT_ARP_UFWD) == + L2INPUT_FEAT_ARP_UFWD); +} + /** Masks for eliminating features that do not apply to a packet */ /** Get a pointer to the config for the given interface */