]> git.droids-corp.org - dpdk.git/commitdiff
net/bnxt: add vfr flag to mark manager
authorKishore Padmanabha <kishore.padmanabha@broadcom.com>
Fri, 12 Jun 2020 12:49:51 +0000 (18:19 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 30 Jun 2020 12:52:30 +0000 (14:52 +0200)
Add support for the vfr flag to the mark manager.
The vf representor flag is added to class table so it can be set in
the template details.
Also added the vfr flag process in mark database.

Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Mike Baucom <michael.baucom@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_rxr.c
drivers/net/bnxt/tf_ulp/ulp_mapper.c
drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c
drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h
drivers/net/bnxt/tf_ulp/ulp_template_db.c
drivers/net/bnxt/tf_ulp/ulp_template_db.h
drivers/net/bnxt/tf_ulp/ulp_template_db_class.c
drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
drivers/net/bnxt/tf_ulp/ulp_template_struct.h

index 9a5ac39fa5402e8da9fcda18fb72b01ef15c6950..11807f40949adf18bf367f39ea63b7cb519d9f16 100644 (file)
@@ -414,6 +414,7 @@ bnxt_ulp_set_mark_in_mbuf(struct bnxt *bp, struct rx_pkt_cmpl_hi *rxcmp1,
        uint32_t flags2;
        uint32_t gfid_support = 0;
        int rc;
+       uint32_t vfr_flag;
 
 
        if (BNXT_GFID_ENABLED(bp))
@@ -483,7 +484,7 @@ bnxt_ulp_set_mark_in_mbuf(struct bnxt *bp, struct rx_pkt_cmpl_hi *rxcmp1,
        }
 
        rc = ulp_mark_db_mark_get(bp->ulp_ctx, gfid,
-                                 cfa_code, &mark_id);
+                                 cfa_code, &vfr_flag, &mark_id);
        if (!rc) {
                /* Got the mark, write it to the mbuf and return */
                mbuf->hash.fdir.hi = mark_id;
index 9662fde4a9bda47ee1e4272c00c5af1b64698fe9..94ba2464b8a6f1e86d0263d1e1a3a3cba21551b7 100644 (file)
@@ -904,13 +904,15 @@ ulp_mapper_mark_gfid_process(struct bnxt_ulp_mapper_parms *parms,
                             struct bnxt_ulp_mapper_tbl_info *tbl,
                             uint64_t flow_id)
 {
+       enum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode;
        struct ulp_flow_db_res_params fid_parms;
        uint32_t mark, gfid, mark_flag;
        int32_t rc = 0;
 
-       if (!(tbl->mark_enable &&
+       if (mark_op == BNXT_ULP_MARK_DB_OPCODE_NOP ||
+           !(mark_op == BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION &&
              ULP_BITMAP_ISSET(parms->act_bitmap->bits,
-                             BNXT_ULP_ACTION_BIT_MARK)))
+                              BNXT_ULP_ACTION_BIT_MARK)))
                return rc; /* no need to perform gfid process */
 
        /* Get the mark id details from action property */
@@ -944,14 +946,16 @@ static int32_t
 ulp_mapper_mark_act_ptr_process(struct bnxt_ulp_mapper_parms *parms,
                                struct bnxt_ulp_mapper_tbl_info *tbl)
 {
+       enum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode;
        struct ulp_flow_db_res_params fid_parms;
        uint32_t act_idx, mark, mark_flag;
        uint64_t val64;
        int32_t rc = 0;
 
-       if (!(tbl->mark_enable &&
+       if (mark_op == BNXT_ULP_MARK_DB_OPCODE_NOP ||
+           !(mark_op == BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION &&
              ULP_BITMAP_ISSET(parms->act_bitmap->bits,
-                               BNXT_ULP_ACTION_BIT_MARK)))
+                              BNXT_ULP_ACTION_BIT_MARK)))
                return rc; /* no need to perform mark action process */
 
        /* Get the mark id details from action property */
@@ -987,6 +991,55 @@ ulp_mapper_mark_act_ptr_process(struct bnxt_ulp_mapper_parms *parms,
        return rc;
 }
 
+static int32_t
+ulp_mapper_mark_vfr_idx_process(struct bnxt_ulp_mapper_parms *parms,
+                               struct bnxt_ulp_mapper_tbl_info *tbl)
+{
+       struct ulp_flow_db_res_params fid_parms;
+       uint32_t act_idx, mark, mark_flag;
+       uint64_t val64;
+       enum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode;
+       int32_t rc = 0;
+
+       if (mark_op == BNXT_ULP_MARK_DB_OPCODE_NOP ||
+           mark_op == BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION)
+               return rc; /* no need to perform mark action process */
+
+       /* Get the mark id details from the computed field of dev port id */
+       mark = ULP_COMP_FLD_IDX_RD(parms, BNXT_ULP_CF_IDX_DEV_PORT_ID);
+
+        /* Get the main action pointer */
+       if (!ulp_regfile_read(parms->regfile,
+                             BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
+                             &val64)) {
+               BNXT_TF_DBG(ERR, "read action ptr main failed\n");
+               return -EINVAL;
+       }
+       act_idx = tfp_be_to_cpu_64(val64);
+
+       /* Set the mark flag to local fid and vfr flag */
+       mark_flag  = BNXT_ULP_MARK_LOCAL_HW_FID | BNXT_ULP_MARK_VFR_ID;
+
+       rc = ulp_mark_db_mark_add(parms->ulp_ctx, mark_flag,
+                                 act_idx, mark);
+       if (rc) {
+               BNXT_TF_DBG(ERR, "Failed to add mark to flow\n");
+               return rc;
+       }
+       fid_parms.direction = tbl->direction;
+       fid_parms.resource_func = BNXT_ULP_RESOURCE_FUNC_HW_FID;
+       fid_parms.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO;
+       fid_parms.resource_type = mark_flag;
+       fid_parms.resource_hndl = act_idx;
+       rc = ulp_flow_db_resource_add(parms->ulp_ctx,
+                                     parms->tbl_idx,
+                                     parms->fid,
+                                     &fid_parms);
+       if (rc)
+               BNXT_TF_DBG(ERR, "Fail to link res to flow rc = %d\n", rc);
+       return rc;
+}
+
 static int32_t
 ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms,
                            struct bnxt_ulp_mapper_tbl_info *tbl)
@@ -1520,6 +1573,12 @@ ulp_mapper_index_tbl_process(struct bnxt_ulp_mapper_parms *parms,
                goto error;
        }
 
+       /* Perform the VF rep action */
+       rc = ulp_mapper_mark_vfr_idx_process(parms, tbl);
+       if (rc) {
+               BNXT_TF_DBG(ERR, "Failed to add vfr mark rc = %d\n", rc);
+               goto error;
+       }
        return rc;
 error:
        /*
index 04d441da727c9ccae12e699611b7cfb28964a207..0c477680c41125c9727542d7c9af327859743044 100644 (file)
@@ -18,6 +18,8 @@
                                                BNXT_ULP_MARK_VALID)
 #define ULP_MARK_DB_ENTRY_IS_INVALID(mark_info) (!((mark_info)->flags &\
                                                   BNXT_ULP_MARK_VALID))
+#define ULP_MARK_DB_ENTRY_IS_VFR_ID(mark_info) ((mark_info)->flags &\
+                                               BNXT_ULP_MARK_VFR_ID)
 #define ULP_MARK_DB_ENTRY_IS_GLOBAL_HW_FID(mark_info) ((mark_info)->flags &\
                                                BNXT_ULP_MARK_GLOBAL_HW_FID)
 
@@ -153,6 +155,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
  *
  */
@@ -160,6 +164,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)
 {
        struct bnxt_ulp_mark_tbl *mtbl;
@@ -184,6 +189,7 @@ ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,
                BNXT_TF_DBG(DEBUG, "Get GFID[0x%0x] = 0x%0x\n",
                            idx, mtbl->gfid_tbl[idx].mark_id);
 
+               *vfr_flag = ULP_MARK_DB_ENTRY_IS_VFR_ID(&mtbl->gfid_tbl[idx]);
                *mark = mtbl->gfid_tbl[idx].mark_id;
        } else {
                if (idx >= mtbl->lfid_num_entries ||
@@ -193,6 +199,7 @@ ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,
                BNXT_TF_DBG(DEBUG, "Get LFID[0x%0x] = 0x%0x\n",
                            idx, mtbl->lfid_tbl[idx].mark_id);
 
+               *vfr_flag = ULP_MARK_DB_ENTRY_IS_VFR_ID(&mtbl->lfid_tbl[idx]);
                *mark = mtbl->lfid_tbl[idx].mark_id;
        }
 
index b55832a28bd49dfb04fc94e90f7ecc3f597717c8..9696730cc215c60413997dd405417dc40d8c8c61 100644 (file)
@@ -68,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
  *
  */
@@ -75,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);
 
 /*
index aeed56105ffec2ed355e8ff59f30aba48eca7fb9..97ca6f1e4246d2c83d938670a25f499db098f1aa 100644 (file)
@@ -668,6 +668,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
+       .vfr_flag = BNXT_ULP_VFR_FLAG_NO,
+       .regfile_wr_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
@@ -690,6 +692,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
+       .vfr_flag = BNXT_ULP_VFR_FLAG_NO,
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
@@ -712,6 +715,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
+       .vfr_flag = BNXT_ULP_VFR_FLAG_NO,
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
@@ -734,6 +738,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
+       .vfr_flag = BNXT_ULP_VFR_FLAG_NO,
        },
        {
        .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
index 881586a1ee84b09e0be98e47c3f064eb022904b4..24b71b334670566f8f4adf45ba8ebba58e1d1a75 100644 (file)
@@ -117,8 +117,7 @@ enum bnxt_ulp_cf_idx {
        BNXT_ULP_CF_IDX_PHY_PORT_SPIF = 25,
        BNXT_ULP_CF_IDX_PHY_PORT_PARIF = 26,
        BNXT_ULP_CF_IDX_PHY_PORT_VPORT = 27,
-       BNXT_ULP_CF_IDX_VFR_FLAG = 28,
-       BNXT_ULP_CF_IDX_LAST = 29
+       BNXT_ULP_CF_IDX_LAST = 28
 };
 
 enum bnxt_ulp_critical_resource {
@@ -258,6 +257,12 @@ enum bnxt_ulp_encap_vtag_encoding {
        BNXT_ULP_ENCAP_VTAG_ENCODING_STAG_REMAP_DIFFSERV = 3
 };
 
+enum bnxt_ulp_vfr_flag {
+       BNXT_ULP_VFR_FLAG_NO = 0,
+       BNXT_ULP_VFR_FLAG_YES = 1,
+       BNXT_ULP_VFR_FLAG_LAST = 2
+};
+
 enum bnxt_ulp_fdb_resource_flags {
        BNXT_ULP_FDB_RESOURCE_FLAGS_DIR_EGR = 0x01,
        BNXT_ULP_FDB_RESOURCE_FLAGS_DIR_INGR = 0x00
index 802e6aad855b2d8a0ac4eef0ca968fdfe660640c..aac4d79fdec65a4bfe3422465832b8710ceabbc2 100644 (file)
@@ -112,7 +112,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 0,
        .ident_nums = 1,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -134,7 +134,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 1,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -156,7 +156,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 1,
        .ident_nums = 1,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -178,7 +178,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 2,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -200,7 +200,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 2,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -222,7 +222,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 2,
        .ident_nums = 1,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -244,7 +244,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 3,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -266,7 +266,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 3,
        .ident_nums = 1,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -288,7 +288,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 4,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -310,7 +310,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 4,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -332,7 +332,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 4,
        .ident_nums = 1,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -354,7 +354,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 5,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -376,7 +376,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 5,
        .ident_nums = 1,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -398,7 +398,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 6,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        },
@@ -420,7 +420,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
        .encap_num_fields = 0,
        .ident_start_idx = 6,
        .ident_nums = 0,
-       .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
+       .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
        .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
        .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
        }
index 7f280fdf2ee8eb0b59f5cacd0cbe4768d3f425c8..5376245772c8b0933c5a848030c75099ec6a3d39 100644 (file)
@@ -151,10 +151,11 @@ enum bnxt_ulp_hdr_type {
        BNXT_ULP_HDR_TYPE_LAST = 3
 };
 
-enum bnxt_ulp_mark_enable {
-       BNXT_ULP_MARK_ENABLE_NO = 0,
-       BNXT_ULP_MARK_ENABLE_YES = 1,
-       BNXT_ULP_MARK_ENABLE_LAST = 2
+enum bnxt_ulp_mark_db_opcode {
+       BNXT_ULP_MARK_DB_OPCODE_NOP = 0,
+       BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION = 1,
+       BNXT_ULP_MARK_DB_OPCODE_SET_VFR_FLAG = 2,
+       BNXT_ULP_MARK_DB_OPCODE_LAST = 3
 };
 
 enum bnxt_ulp_mapper_opc {
@@ -214,12 +215,6 @@ enum bnxt_ulp_search_before_alloc {
        BNXT_ULP_SEARCH_BEFORE_ALLOC_LAST = 2
 };
 
-enum bnxt_ulp_vfr_flag {
-       BNXT_ULP_VFR_FLAG_NO = 0,
-       BNXT_ULP_VFR_FLAG_YES = 1,
-       BNXT_ULP_VFR_FLAG_LAST = 2
-};
-
 enum bnxt_ulp_fdb_resource_flags {
        BNXT_ULP_FDB_RESOURCE_FLAGS_DIR_EGR = 0x01,
        BNXT_ULP_FDB_RESOURCE_FLAGS_DIR_INGR = 0x00
index 81f2aa7c4c28a44a234ecf0fae7fa201224f00ca..5d11a7ec4622a6617a32157e8ec2169d91040eef 100644 (file)
@@ -181,9 +181,8 @@ struct bnxt_ulp_mapper_tbl_info {
        uint32_t        ident_start_idx;
        uint16_t        ident_nums;
 
-       uint8_t         mark_enable;
-       enum bnxt_ulp_regfile_index     regfile_wr_idx;
        enum bnxt_ulp_regfile_index     regfile_idx;
+       enum bnxt_ulp_mark_db_opcode    mark_db_opcode;
 };
 
 struct bnxt_ulp_mapper_class_key_field_info {