get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/72339/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 72339,
    "url": "https://patches.dpdk.org/api/patches/72339/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200627100050.19688-23-ajit.khaparde@broadcom.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20200627100050.19688-23-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200627100050.19688-23-ajit.khaparde@broadcom.com",
    "date": "2020-06-27T10:00:47",
    "name": "[v4,22/25] net/bnxt: add vfr flag to the mark manager",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "fcb4fb65c4f25c86967ca36c59492df65a3ab98c",
    "submitter": {
        "id": 501,
        "url": "https://patches.dpdk.org/api/people/501/?format=api",
        "name": "Ajit Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "delegate": {
        "id": 1766,
        "url": "https://patches.dpdk.org/api/users/1766/?format=api",
        "username": "ajitkhaparde",
        "first_name": "Ajit",
        "last_name": "Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200627100050.19688-23-ajit.khaparde@broadcom.com/mbox/",
    "series": [
        {
            "id": 10645,
            "url": "https://patches.dpdk.org/api/series/10645/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=10645",
            "date": "2020-06-27T10:00:25",
            "name": "bnxt patches",
            "version": 4,
            "mbox": "https://patches.dpdk.org/series/10645/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/72339/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/72339/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A0D0CA0522;\n\tSat, 27 Jun 2020 12:05:13 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 9D6E31C12C;\n\tSat, 27 Jun 2020 12:01:45 +0200 (CEST)",
            "from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com\n [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 78EE71BFAC\n for <dev@dpdk.org>; Sat, 27 Jun 2020 12:01:04 +0200 (CEST)",
            "from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net\n [10.75.242.48])\n by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 7980730C0E8;\n Sat, 27 Jun 2020 03:01:03 -0700 (PDT)",
            "from localhost.localdomain (unknown [10.230.185.215])\n by mail-irv-17.broadcom.com (Postfix) with ESMTP id E656C14008D;\n Sat, 27 Jun 2020 03:01:02 -0700 (PDT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 7980730C0E8",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com;\n s=dkimrelay; t=1593252063;\n bh=wEqSX3rIXK911bR/+3gS0gpJlGpiI7VoSSAPjO8trKI=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=Axn5Q44S7U2a4wlL3+1r6A90QGdd8O/H1LKDKWRCIEYr6iVYu2hxsq47lU9psoJbn\n 69fuLixcRXvNvCyd99qzjPLLgosq/7yRl2kjXTfx+AoOV6WVt77YUqTOj+uJvlsqBv\n /Eakaz/ZjjAOSMs6JGAbSw7o/wXDBdkvjhtQ8yPw=",
        "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>",
        "To": "dev@dpdk.org",
        "Cc": "Kishore Padmanabha <kishore.padmanabha@broadcom.com>,\n Somnath Kotur <somnath.kotur@broadcom.com>,\n Mike Baucom <michael.baucom@broadcom.com>",
        "Date": "Sat, 27 Jun 2020 03:00:47 -0700",
        "Message-Id": "<20200627100050.19688-23-ajit.khaparde@broadcom.com>",
        "X-Mailer": "git-send-email 2.21.1 (Apple Git-122.3)",
        "In-Reply-To": "<20200627100050.19688-1-ajit.khaparde@broadcom.com>",
        "References": "<20200612125024.15989-1-somnath.kotur@broadcom.com>\n <20200627100050.19688-1-ajit.khaparde@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v4 22/25] net/bnxt: add vfr flag to the mark\n\tmanager",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Kishore Padmanabha <kishore.padmanabha@broadcom.com>\n\nAdd support for the vfr flag to the mark manager.\nThe vf representor flag is added to class table so it can be set in\nthe template details.\nAlso added the vfr flag process in mark database.\n\nSigned-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>\nSigned-off-by: Somnath Kotur <somnath.kotur@broadcom.com>\nReviewed-by: Mike Baucom <michael.baucom@broadcom.com>\nReviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/bnxt_rxr.c                   |  3 +-\n drivers/net/bnxt/tf_ulp/ulp_mapper.c          | 67 +++++++++++++++++--\n drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c        |  7 ++\n drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h        |  3 +\n drivers/net/bnxt/tf_ulp/ulp_template_db.c     |  5 ++\n drivers/net/bnxt/tf_ulp/ulp_template_db.h     |  9 ++-\n .../net/bnxt/tf_ulp/ulp_template_db_class.c   | 30 ++++-----\n .../net/bnxt/tf_ulp/ulp_template_db_enum.h    | 15 ++---\n drivers/net/bnxt/tf_ulp/ulp_template_struct.h |  3 +-\n 9 files changed, 108 insertions(+), 34 deletions(-)",
    "diff": "diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c\nindex 9a5ac39fa..11807f409 100644\n--- a/drivers/net/bnxt/bnxt_rxr.c\n+++ b/drivers/net/bnxt/bnxt_rxr.c\n@@ -414,6 +414,7 @@ bnxt_ulp_set_mark_in_mbuf(struct bnxt *bp, struct rx_pkt_cmpl_hi *rxcmp1,\n \tuint32_t flags2;\n \tuint32_t gfid_support = 0;\n \tint rc;\n+\tuint32_t vfr_flag;\n \n \n \tif (BNXT_GFID_ENABLED(bp))\n@@ -483,7 +484,7 @@ bnxt_ulp_set_mark_in_mbuf(struct bnxt *bp, struct rx_pkt_cmpl_hi *rxcmp1,\n \t}\n \n \trc = ulp_mark_db_mark_get(bp->ulp_ctx, gfid,\n-\t\t\t\t  cfa_code, &mark_id);\n+\t\t\t\t  cfa_code, &vfr_flag, &mark_id);\n \tif (!rc) {\n \t\t/* Got the mark, write it to the mbuf and return */\n \t\tmbuf->hash.fdir.hi = mark_id;\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\nindex 15c5f5177..d60b1f14f 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n@@ -904,13 +904,15 @@ ulp_mapper_mark_gfid_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\t     struct bnxt_ulp_mapper_tbl_info *tbl,\n \t\t\t     uint64_t flow_id)\n {\n+\tenum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode;\n \tstruct ulp_flow_db_res_params fid_parms;\n \tuint32_t mark, gfid, mark_flag;\n \tint32_t rc = 0;\n \n-\tif (!(tbl->mark_enable &&\n+\tif (mark_op == BNXT_ULP_MARK_DB_OPCODE_NOP ||\n+\t    !(mark_op == BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION &&\n \t      ULP_BITMAP_ISSET(parms->act_bitmap->bits,\n-\t\t\t      BNXT_ULP_ACTION_BIT_MARK)))\n+\t\t\t       BNXT_ULP_ACTION_BIT_MARK)))\n \t\treturn rc; /* no need to perform gfid process */\n \n \t/* Get the mark id details from action property */\n@@ -944,14 +946,16 @@ static int32_t\n ulp_mapper_mark_act_ptr_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\t\tstruct bnxt_ulp_mapper_tbl_info *tbl)\n {\n+\tenum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode;\n \tstruct ulp_flow_db_res_params fid_parms;\n \tuint32_t act_idx, mark, mark_flag;\n \tuint64_t val64;\n \tint32_t rc = 0;\n \n-\tif (!(tbl->mark_enable &&\n+\tif (mark_op == BNXT_ULP_MARK_DB_OPCODE_NOP ||\n+\t    !(mark_op == BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION &&\n \t      ULP_BITMAP_ISSET(parms->act_bitmap->bits,\n-\t\t\t\tBNXT_ULP_ACTION_BIT_MARK)))\n+\t\t\t       BNXT_ULP_ACTION_BIT_MARK)))\n \t\treturn rc; /* no need to perform mark action process */\n \n \t/* Get the mark id details from action property */\n@@ -987,6 +991,55 @@ ulp_mapper_mark_act_ptr_process(struct bnxt_ulp_mapper_parms *parms,\n \treturn rc;\n }\n \n+static int32_t\n+ulp_mapper_mark_vfr_idx_process(struct bnxt_ulp_mapper_parms *parms,\n+\t\t\t\tstruct bnxt_ulp_mapper_tbl_info *tbl)\n+{\n+\tstruct ulp_flow_db_res_params fid_parms;\n+\tuint32_t act_idx, mark, mark_flag;\n+\tuint64_t val64;\n+\tenum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode;\n+\tint32_t rc = 0;\n+\n+\tif (mark_op == BNXT_ULP_MARK_DB_OPCODE_NOP ||\n+\t    mark_op == BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION)\n+\t\treturn rc; /* no need to perform mark action process */\n+\n+\t/* Get the mark id details from the computed field of dev port id */\n+\tmark = ULP_COMP_FLD_IDX_RD(parms, BNXT_ULP_CF_IDX_DEV_PORT_ID);\n+\n+\t /* Get the main action pointer */\n+\tif (!ulp_regfile_read(parms->regfile,\n+\t\t\t      BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t\t\t      &val64)) {\n+\t\tBNXT_TF_DBG(ERR, \"read action ptr main failed\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\tact_idx = tfp_be_to_cpu_64(val64);\n+\n+\t/* Set the mark flag to local fid and vfr flag */\n+\tmark_flag  = BNXT_ULP_MARK_LOCAL_HW_FID | BNXT_ULP_MARK_VFR_ID;\n+\n+\trc = ulp_mark_db_mark_add(parms->ulp_ctx, mark_flag,\n+\t\t\t\t  act_idx, mark);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed to add mark to flow\\n\");\n+\t\treturn rc;\n+\t}\n+\tfid_parms.direction = tbl->direction;\n+\tfid_parms.resource_func = BNXT_ULP_RESOURCE_FUNC_HW_FID;\n+\tfid_parms.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO;\n+\tfid_parms.resource_type\t= mark_flag;\n+\tfid_parms.resource_hndl\t= act_idx;\n+\trc = ulp_flow_db_resource_add(parms->ulp_ctx,\n+\t\t\t\t      parms->tbl_idx,\n+\t\t\t\t      parms->fid,\n+\t\t\t\t      &fid_parms);\n+\tif (rc)\n+\t\tBNXT_TF_DBG(ERR, \"Fail to link res to flow rc = %d\\n\", rc);\n+\treturn rc;\n+}\n+\n static int32_t\n ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\t    struct bnxt_ulp_mapper_tbl_info *tbl)\n@@ -1520,6 +1573,12 @@ ulp_mapper_index_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t\tgoto error;\n \t}\n \n+\t/* Perform the VF rep action */\n+\trc = ulp_mapper_mark_vfr_idx_process(parms, tbl);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed to add vfr mark rc = %d\\n\", rc);\n+\t\tgoto error;\n+\t}\n \treturn rc;\n error:\n \t/*\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c\nindex 04d441da7..0c477680c 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c\n@@ -18,6 +18,8 @@\n \t\t\t\t\t\tBNXT_ULP_MARK_VALID)\n #define ULP_MARK_DB_ENTRY_IS_INVALID(mark_info) (!((mark_info)->flags &\\\n \t\t\t\t\t\t   BNXT_ULP_MARK_VALID))\n+#define ULP_MARK_DB_ENTRY_IS_VFR_ID(mark_info) ((mark_info)->flags &\\\n+\t\t\t\t\t\tBNXT_ULP_MARK_VFR_ID)\n #define ULP_MARK_DB_ENTRY_IS_GLOBAL_HW_FID(mark_info) ((mark_info)->flags &\\\n \t\t\t\t\t\tBNXT_ULP_MARK_GLOBAL_HW_FID)\n \n@@ -153,6 +155,8 @@ ulp_mark_db_deinit(struct bnxt_ulp_context *ctxt)\n  *\n  * fid [in] The flow id that is returned by HW in BD\n  *\n+ * vfr_flag [out].it indicatesif mark is vfr_id or mark id\n+ *\n  * mark [out] The mark that is associated with the FID\n  *\n  */\n@@ -160,6 +164,7 @@ int32_t\n ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,\n \t\t     bool is_gfid,\n \t\t     uint32_t fid,\n+\t\t     uint32_t *vfr_flag,\n \t\t     uint32_t *mark)\n {\n \tstruct bnxt_ulp_mark_tbl *mtbl;\n@@ -184,6 +189,7 @@ ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,\n \t\tBNXT_TF_DBG(DEBUG, \"Get GFID[0x%0x] = 0x%0x\\n\",\n \t\t\t    idx, mtbl->gfid_tbl[idx].mark_id);\n \n+\t\t*vfr_flag = ULP_MARK_DB_ENTRY_IS_VFR_ID(&mtbl->gfid_tbl[idx]);\n \t\t*mark = mtbl->gfid_tbl[idx].mark_id;\n \t} else {\n \t\tif (idx >= mtbl->lfid_num_entries ||\n@@ -193,6 +199,7 @@ ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,\n \t\tBNXT_TF_DBG(DEBUG, \"Get LFID[0x%0x] = 0x%0x\\n\",\n \t\t\t    idx, mtbl->lfid_tbl[idx].mark_id);\n \n+\t\t*vfr_flag = ULP_MARK_DB_ENTRY_IS_VFR_ID(&mtbl->lfid_tbl[idx]);\n \t\t*mark = mtbl->lfid_tbl[idx].mark_id;\n \t}\n \ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h\nindex b55832a28..9696730cc 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h\n@@ -68,6 +68,8 @@ ulp_mark_db_deinit(struct bnxt_ulp_context *ctxt);\n  *\n  * fid [in] The flow id that is returned by HW in BD\n  *\n+ * vfr_flag [out].it indicatesif mark is vfr_id or mark id\n+ *\n  * mark [out] The mark that is associated with the FID\n  *\n  */\n@@ -75,6 +77,7 @@ int32_t\n ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,\n \t\t     bool is_gfid,\n \t\t     uint32_t fid,\n+\t\t     uint32_t *vfr_flag,\n \t\t     uint32_t *mark);\n \n /*\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db.c b/drivers/net/bnxt/tf_ulp/ulp_template_db.c\nindex aeed56105..97ca6f1e4 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db.c\n@@ -668,6 +668,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n+\t.vfr_flag = BNXT_ULP_VFR_FLAG_NO,\n+\t.regfile_wr_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n@@ -690,6 +692,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n+\t.vfr_flag = BNXT_ULP_VFR_FLAG_NO,\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,\n@@ -712,6 +715,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n+\t.vfr_flag = BNXT_ULP_VFR_FLAG_NO,\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n@@ -734,6 +738,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n+\t.vfr_flag = BNXT_ULP_VFR_FLAG_NO,\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db.h b/drivers/net/bnxt/tf_ulp/ulp_template_db.h\nindex 881586a1e..24b71b334 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db.h\n@@ -117,8 +117,7 @@ enum bnxt_ulp_cf_idx {\n \tBNXT_ULP_CF_IDX_PHY_PORT_SPIF = 25,\n \tBNXT_ULP_CF_IDX_PHY_PORT_PARIF = 26,\n \tBNXT_ULP_CF_IDX_PHY_PORT_VPORT = 27,\n-\tBNXT_ULP_CF_IDX_VFR_FLAG = 28,\n-\tBNXT_ULP_CF_IDX_LAST = 29\n+\tBNXT_ULP_CF_IDX_LAST = 28\n };\n \n enum bnxt_ulp_critical_resource {\n@@ -258,6 +257,12 @@ enum bnxt_ulp_encap_vtag_encoding {\n \tBNXT_ULP_ENCAP_VTAG_ENCODING_STAG_REMAP_DIFFSERV = 3\n };\n \n+enum bnxt_ulp_vfr_flag {\n+\tBNXT_ULP_VFR_FLAG_NO = 0,\n+\tBNXT_ULP_VFR_FLAG_YES = 1,\n+\tBNXT_ULP_VFR_FLAG_LAST = 2\n+};\n+\n enum bnxt_ulp_fdb_resource_flags {\n \tBNXT_ULP_FDB_RESOURCE_FLAGS_DIR_EGR = 0x01,\n \tBNXT_ULP_FDB_RESOURCE_FLAGS_DIR_INGR = 0x00\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c\nindex 802e6aad8..aac4d79fd 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c\n@@ -112,7 +112,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 0,\n \t.ident_nums = 1,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -134,7 +134,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 1,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -156,7 +156,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 1,\n \t.ident_nums = 1,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -178,7 +178,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 2,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -200,7 +200,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 2,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_YES,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -222,7 +222,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 2,\n \t.ident_nums = 1,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -244,7 +244,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 3,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -266,7 +266,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 3,\n \t.ident_nums = 1,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -288,7 +288,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 4,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -310,7 +310,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 4,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_YES,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -332,7 +332,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 4,\n \t.ident_nums = 1,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -354,7 +354,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 5,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -376,7 +376,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 5,\n \t.ident_nums = 1,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -398,7 +398,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 6,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_NO,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t},\n@@ -420,7 +420,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {\n \t.encap_num_fields = 0,\n \t.ident_start_idx = 6,\n \t.ident_nums = 0,\n-\t.mark_enable = BNXT_ULP_MARK_ENABLE_YES,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n \t.regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED\n \t}\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h\nindex 7f280fdf2..537624577 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h\n@@ -151,10 +151,11 @@ enum bnxt_ulp_hdr_type {\n \tBNXT_ULP_HDR_TYPE_LAST = 3\n };\n \n-enum bnxt_ulp_mark_enable {\n-\tBNXT_ULP_MARK_ENABLE_NO = 0,\n-\tBNXT_ULP_MARK_ENABLE_YES = 1,\n-\tBNXT_ULP_MARK_ENABLE_LAST = 2\n+enum bnxt_ulp_mark_db_opcode {\n+\tBNXT_ULP_MARK_DB_OPCODE_NOP = 0,\n+\tBNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION = 1,\n+\tBNXT_ULP_MARK_DB_OPCODE_SET_VFR_FLAG = 2,\n+\tBNXT_ULP_MARK_DB_OPCODE_LAST = 3\n };\n \n enum bnxt_ulp_mapper_opc {\n@@ -214,12 +215,6 @@ enum bnxt_ulp_search_before_alloc {\n \tBNXT_ULP_SEARCH_BEFORE_ALLOC_LAST = 2\n };\n \n-enum bnxt_ulp_vfr_flag {\n-\tBNXT_ULP_VFR_FLAG_NO = 0,\n-\tBNXT_ULP_VFR_FLAG_YES = 1,\n-\tBNXT_ULP_VFR_FLAG_LAST = 2\n-};\n-\n enum bnxt_ulp_fdb_resource_flags {\n \tBNXT_ULP_FDB_RESOURCE_FLAGS_DIR_EGR = 0x01,\n \tBNXT_ULP_FDB_RESOURCE_FLAGS_DIR_INGR = 0x00\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h\nindex 81f2aa7c4..5d11a7ec4 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h\n@@ -181,9 +181,8 @@ struct bnxt_ulp_mapper_tbl_info {\n \tuint32_t\tident_start_idx;\n \tuint16_t\tident_nums;\n \n-\tuint8_t\t\tmark_enable;\n-\tenum bnxt_ulp_regfile_index\tregfile_wr_idx;\n \tenum bnxt_ulp_regfile_index\tregfile_idx;\n+\tenum bnxt_ulp_mark_db_opcode\tmark_db_opcode;\n };\n \n struct bnxt_ulp_mapper_class_key_field_info {\n",
    "prefixes": [
        "v4",
        "22/25"
    ]
}