net/bnxt: fix VLAN/VXLAN encapsulation header size
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_mark_mgr.h
index 0f8a5e5..9696730 100644 (file)
@@ -8,23 +8,28 @@
 
 #include "bnxt_ulp.h"
 
-#define ULP_MARK_INVALID (0)
+#define BNXT_ULP_MARK_VALID   0x1
+#define BNXT_ULP_MARK_VFR_ID  0x2
+#define BNXT_ULP_MARK_GLOBAL_HW_FID 0x4
+#define BNXT_ULP_MARK_LOCAL_HW_FID 0x8
+
 struct bnxt_lfid_mark_info {
        uint16_t        mark_id;
-       bool            valid;
+       uint16_t        flags;
 };
 
 struct bnxt_gfid_mark_info {
        uint32_t        mark_id;
-       bool            valid;
+       uint16_t        flags;
 };
 
 struct bnxt_ulp_mark_tbl {
        struct bnxt_lfid_mark_info      *lfid_tbl;
        struct bnxt_gfid_mark_info      *gfid_tbl;
+       uint32_t                        lfid_num_entries;
+       uint32_t                        gfid_num_entries;
        uint32_t                        gfid_mask;
        uint32_t                        gfid_type_bit;
-       uint32_t                        gfid_max;
 };
 
 /*
@@ -63,6 +68,8 @@ ulp_mark_db_deinit(struct bnxt_ulp_context *ctxt);
  *
  * fid [in] The flow id that is returned by HW in BD
  *
+ * vfr_flag [out].it indicatesif mark is vfr_id or mark id
+ *
  * mark [out] The mark that is associated with the FID
  *
  */
@@ -70,6 +77,7 @@ int32_t
 ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,
                     bool is_gfid,
                     uint32_t fid,
+                    uint32_t *vfr_flag,
                     uint32_t *mark);
 
 /*
@@ -77,7 +85,7 @@ ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,
  *
  * ctxt [in] The ulp context for the mark manager
  *
- * is_gfid [in] The type of fid (GFID or LFID)
+ * mark_flag [in] mark flags.
  *
  * fid [in] The flow id that is returned by HW in BD
  *
@@ -86,7 +94,7 @@ ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,
  */
 int32_t
 ulp_mark_db_mark_add(struct bnxt_ulp_context *ctxt,
-                    bool is_gfid,
+                    uint32_t mark_flag,
                     uint32_t gfid,
                     uint32_t mark);
 
@@ -95,17 +103,14 @@ ulp_mark_db_mark_add(struct bnxt_ulp_context *ctxt,
  *
  * ctxt [in] The ulp context for the mark manager
  *
- * is_gfid [in] The type of fid (GFID or LFID)
+ * mark_flag [in] mark flags
  *
  * fid [in] The flow id that is returned by HW in BD
  *
- * mark [in] The mark to be associated with the FID
- *
  */
 int32_t
 ulp_mark_db_mark_del(struct bnxt_ulp_context *ctxt,
-                    bool is_gfid,
-                    uint32_t gfid,
-                    uint32_t mark);
+                    uint32_t mark_flag,
+                    uint32_t gfid);
 
 #endif /* _ULP_MARK_MGR_H_ */