crypto/aesni_gcm: support in-place chained mbufs
[dpdk.git] / drivers / net / bnxt / bnxt_filter.h
index 52d3582..e09b435 100644 (file)
@@ -15,10 +15,13 @@ struct bnxt;
 #define BNXT_FLOW_L2_INNER_SRC_VALID_FLAG      BIT(2)
 #define BNXT_FLOW_L2_DST_VALID_FLAG            BIT(3)
 #define BNXT_FLOW_L2_INNER_DST_VALID_FLAG      BIT(4)
+#define BNXT_FLOW_L2_DROP_FLAG                 BIT(5)
+#define BNXT_FLOW_PARSE_INNER_FLAG             BIT(6)
 
 struct bnxt_filter_info {
        STAILQ_ENTRY(bnxt_filter_info)  next;
        uint64_t                fw_l2_filter_id;
+       struct bnxt_filter_info *matching_l2_fltr_ptr;
        uint64_t                fw_em_filter_id;
        uint64_t                fw_ntuple_filter_id;
 #define INVALID_MAC_INDEX      ((uint16_t)-1)
@@ -33,6 +36,7 @@ struct bnxt_filter_info {
        /* Filter Characteristics */
        uint32_t                flags;
        uint32_t                enables;
+       uint32_t                l2_ref_cnt;
        uint8_t                 l2_addr[RTE_ETHER_ADDR_LEN];
        uint8_t                 l2_addr_mask[RTE_ETHER_ADDR_LEN];
        uint32_t                valid_flags;
@@ -66,6 +70,8 @@ struct bnxt_filter_info {
        uint16_t                ip_protocol;
        uint16_t                ip_addr_type;
        uint16_t                ethertype;
+       uint32_t                priority;
+       uint8_t                 dflt;
 };
 
 struct bnxt_filter_info *bnxt_alloc_filter(struct bnxt *bp);
@@ -145,4 +151,8 @@ struct bnxt_filter_info *bnxt_get_l2_filter(struct bnxt *bp,
        HWRM_CFA_NTUPLE_FILTER_ALLOC_INPUT_ENABLES_MIRROR_VNIC_ID
 #define NTUPLE_FLTR_ALLOC_INPUT_EN_MIRROR_VNIC_ID      \
        HWRM_CFA_NTUPLE_FILTER_ALLOC_INPUT_ENABLES_MIRROR_VNIC_ID
+#define L2_FILTER_ALLOC_INPUT_EN_T_NUM_VLANS \
+       HWRM_CFA_L2_FILTER_ALLOC_INPUT_ENABLES_T_NUM_VLANS
+#define L2_FILTER_ALLOC_INPUT_EN_NUM_VLANS \
+       HWRM_CFA_L2_FILTER_ALLOC_INPUT_ENABLES_NUM_VLANS
 #endif