net/bnxt: fix Thor SVIF size for generic tables
[dpdk.git] / drivers / net / bnxt / bnxt_filter.h
index 9db3e74..587932c 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2014-2018 Broadcom
+ * Copyright(c) 2014-2021 Broadcom
  * All rights reserved.
  */
 
@@ -23,9 +23,16 @@ struct bnxt;
 #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)
+#define BNXT_FLOW_MARK_FLAG                    BIT(7)
+
+struct bnxt_flow_stats {
+       uint64_t        packets;
+       uint64_t        bytes;
+};
 
 struct bnxt_filter_info {
        STAILQ_ENTRY(bnxt_filter_info)  next;
+       uint32_t                flow_id;
        uint64_t                fw_l2_filter_id;
        struct bnxt_filter_info *matching_l2_fltr_ptr;
        uint64_t                fw_em_filter_id;
@@ -36,6 +43,7 @@ struct bnxt_filter_info {
 #define HWRM_CFA_EM_FILTER     1
 #define HWRM_CFA_NTUPLE_FILTER 2
 #define HWRM_CFA_TUNNEL_REDIRECT_FILTER        3
+#define HWRM_CFA_CONFIG                4
        uint8_t                 filter_type;
        uint32_t                dst_id;
 
@@ -77,6 +85,12 @@ struct bnxt_filter_info {
        uint16_t                ip_addr_type;
        uint16_t                ethertype;
        uint32_t                priority;
+       /* Backptr to vnic. As of now, used only by an L2 filter
+        * to remember which vnic it was created on
+        */
+       struct                  bnxt_vnic_info *vnic;
+       uint32_t                mark;
+       struct bnxt_flow_stats  hw_stats;
 };
 
 struct bnxt_filter_info *bnxt_alloc_filter(struct bnxt *bp);