get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 80265,
    "url": "http://patches.dpdk.org/api/patches/80265/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201010041153.63921-9-ajit.khaparde@broadcom.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<20201010041153.63921-9-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201010041153.63921-9-ajit.khaparde@broadcom.com",
    "date": "2020-10-10T04:11:49",
    "name": "[v2,08/12] net/bnxt: support runtime EM selection",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "428d76edf16ee26a9356cbbd0a2de3d895e36d3e",
    "submitter": {
        "id": 501,
        "url": "http://patches.dpdk.org/api/people/501/?format=api",
        "name": "Ajit Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "delegate": {
        "id": 1766,
        "url": "http://patches.dpdk.org/api/users/1766/?format=api",
        "username": "ajitkhaparde",
        "first_name": "Ajit",
        "last_name": "Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20201010041153.63921-9-ajit.khaparde@broadcom.com/mbox/",
    "series": [
        {
            "id": 12854,
            "url": "http://patches.dpdk.org/api/series/12854/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12854",
            "date": "2020-10-10T04:11:42",
            "name": "[v2,01/12] net/bnxt: fix the corruption of the session details",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/12854/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/80265/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/80265/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 3C180A04BC;\n\tSat, 10 Oct 2020 06:16:06 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id F218B1D8D3;\n\tSat, 10 Oct 2020 06:13:19 +0200 (CEST)",
            "from mail-pg1-f225.google.com (mail-pg1-f225.google.com\n [209.85.215.225]) by dpdk.org (Postfix) with ESMTP id 98B041D72B\n for <dev@dpdk.org>; Sat, 10 Oct 2020 06:13:14 +0200 (CEST)",
            "by mail-pg1-f225.google.com with SMTP id n9so8876512pgf.9\n for <dev@dpdk.org>; Fri, 09 Oct 2020 21:13:14 -0700 (PDT)",
            "from localhost.localdomain ([192.19.223.252])\n by smtp-relay.gmail.com with ESMTPS id b4sm1597022pjn.3.2020.10.09.21.13.07\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Fri, 09 Oct 2020 21:13:13 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com;\n s=google;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=72DxFOCMZRhZzWbHslVfmPNkYUWC7z6vWzGrIZIcmhA=;\n b=d1RpJKucBpNtjyyGmm0qzLWYTGO3ui6VQ2Th1o7mqteXGE7+lBneMbwQdpjq7n8j85\n Nnz5mUJT81sI0YpSh0++q2vsVKwgnyqpiPDVwMLU5nhBmiN+r1yt4Uo6XlUjhIV5RQtC\n 6+EX5j0ZPzlEKjC89KhsBvX8JKOL9+BICo+uY=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=72DxFOCMZRhZzWbHslVfmPNkYUWC7z6vWzGrIZIcmhA=;\n b=uYEkJ2kokXZK6O1EuO09qzyVeHAYOL7RatBsPynTMeFNOVNdT57EjXpMM0NNFN1pi6\n N888lTHj5I+isWA5ZgFOb6LWmDuQ2UvRDn/Uq1NZB/YyM2u9FP+GN1WLe4UugWdZrdvd\n Adetfer9EPmX+MIC9e6mKrNGkHx84wEa9RTeMEK435JVJ+KtFVyhoXVanEs6KaYC8HQS\n acVA81WtGRhpAroOrsIhTXIHS5RcgD3E8hUWVpKRfIbz8dPtByhDO8uHKQV/4EeImALu\n 2+MKjaOjzVW6lWfz5ECieEBZPyOv6wIecd9vXvUgizf+55W89uL3cLfKuAELTSZUv3Pd\n PCAw==",
        "X-Gm-Message-State": "AOAM53258sVNdw7oUUkfUCJTWLN4hRguic8gw5xvXidoGZ+FPg91RnyK\n IJzB4SZlvqyxVhyE3R8mffTCFi08nkL5pX88zz1W3IQA8TMxoR44VL7Y31Dwa43GEiqBYrIG7Hy\n QNbjiKli8kzpKNOb+QmbknfwYZSsjusNShQQpy1EbfokPDmXNAIygwtpH1Eb1Xo82akVVkHKmMS\n MQQA==",
        "X-Google-Smtp-Source": "\n ABdhPJyLDZNK6D78/DwtQqB+X0gfN16CeKZEsJ6DEYbxNWAyT7Bo+vbnF/0++1TacuP7cqw9ULFsYNmM7AGQ",
        "X-Received": "by 2002:a17:90a:8a04:: with SMTP id\n w4mr6213579pjn.201.1602303193459;\n Fri, 09 Oct 2020 21:13:13 -0700 (PDT)",
        "X-Relaying-Domain": "broadcom.com",
        "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>",
        "To": "dev@dpdk.org",
        "Cc": "Mike Baucom <michael.baucom@broadcom.com>,\n Kishore Padmanabha <kishore.padmanabha@broadcom.com>",
        "Date": "Fri,  9 Oct 2020 21:11:49 -0700",
        "Message-Id": "<20201010041153.63921-9-ajit.khaparde@broadcom.com>",
        "X-Mailer": "git-send-email 2.21.1 (Apple Git-122.3)",
        "In-Reply-To": "<20201010041153.63921-1-ajit.khaparde@broadcom.com>",
        "References": "<20201009111130.10422-1-somnath.kotur@broadcom.com>\n <20201010041153.63921-1-ajit.khaparde@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 08/12] net/bnxt: support runtime EM selection",
        "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: Mike Baucom <michael.baucom@broadcom.com>\n\nThis patch adds support to select internal Exact Match vs\nExternal Exact Match support while loading the PMD.\n- Added new mem type conditional opcode for internal/external\n- Adapted the flowdb resource counts based on selected mode\n- Template changes to use the new opcode\n- The decision for internal/external EM support is based on the\n  devargs parameter max_num_kflows.  If this is set, external EM\n  is used.\n\nSigned-off-by: Mike Baucom <michael.baucom@broadcom.com>\nReviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>\nReviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n doc/guides/nics/bnxt.rst                      |   13 +\n drivers/net/bnxt/tf_ulp/bnxt_ulp.c            |   78 +-\n drivers/net/bnxt/tf_ulp/bnxt_ulp.h            |   11 +\n drivers/net/bnxt/tf_ulp/ulp_flow_db.c         |   16 +-\n drivers/net/bnxt/tf_ulp/ulp_mapper.c          |   48 +-\n .../net/bnxt/tf_ulp/ulp_template_db_enum.h    |    7 +\n .../tf_ulp/ulp_template_db_stingray_act.c     | 2282 +++++++++--\n .../tf_ulp/ulp_template_db_stingray_class.c   | 3646 +++++++++++++++--\n drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c |   48 +-\n .../bnxt/tf_ulp/ulp_template_db_wh_plus_act.c | 2281 +++++++++--\n .../tf_ulp/ulp_template_db_wh_plus_class.c    | 3390 +++++++++++++--\n drivers/net/bnxt/tf_ulp/ulp_template_struct.h |    5 +-\n 12 files changed, 10241 insertions(+), 1584 deletions(-)",
    "diff": "diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst\nindex 553f57178..74d90ba97 100644\n--- a/doc/guides/nics/bnxt.rst\n+++ b/doc/guides/nics/bnxt.rst\n@@ -762,6 +762,19 @@ The sample command line with the new ``devargs`` looks like this::\n \trepresentor=[0], rep-based-pf=8,rep-is-pf=0,rep-q-r2f=1,rep-fc-r2f=1,\\\n \trep-q-f2r=0,rep-fc-f2r=1 --log-level=\"pmd.*\",8 -- -i --rxq=3 --txq=3\n \n+Number of flows supported\n+-------------------------\n+The number of flows that can be support can be changed using the devargs\n+parameter ``max_num_kflows``. The default number of flows supported is 16K each\n+in ingress and egress path.\n+\n+Selecting EM vs EEM\n+-------------------\n+Broadcom devices can support filter creation in the onchip memory or the\n+external memory. This is referred to as EM or EEM mode respectively.\n+The decision for internal/external EM support is based on the ``devargs``\n+parameter ``max_num_kflows``.  If this is set by the user, external EM is used.\n+Otherwise EM support is enabled with flows created in internal memory.\n \n Application Support\n -------------------\ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\nindex 9ed92a88d..b22929a63 100644\n--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\n@@ -359,16 +359,20 @@ bnxt_init_tbl_scope_parms(struct bnxt *bp,\n \t\tparams->rx_max_action_entry_sz_in_bits =\n \t\t\tBNXT_ULP_DFLT_RX_MAX_ACTN_ENTRY;\n \t\tparams->rx_mem_size_in_mb = BNXT_ULP_DFLT_RX_MEM;\n-\t\tparams->rx_num_flows_in_k = dparms->flow_db_num_entries / 1024;\n+\t\tparams->rx_num_flows_in_k =\n+\t\t\tdparms->ext_flow_db_num_entries / 1024;\n \t\tparams->rx_tbl_if_id = BNXT_ULP_RX_TBL_IF_ID;\n \n \t\tparams->tx_max_key_sz_in_bits = BNXT_ULP_DFLT_TX_MAX_KEY;\n \t\tparams->tx_max_action_entry_sz_in_bits =\n \t\t\tBNXT_ULP_DFLT_TX_MAX_ACTN_ENTRY;\n \t\tparams->tx_mem_size_in_mb = BNXT_ULP_DFLT_TX_MEM;\n-\t\tparams->tx_num_flows_in_k = dparms->flow_db_num_entries / 1024;\n+\t\tparams->tx_num_flows_in_k =\n+\t\t\tdparms->ext_flow_db_num_entries / 1024;\n \t\tparams->tx_tbl_if_id = BNXT_ULP_TX_TBL_IF_ID;\n \t}\n+\tBNXT_TF_DBG(INFO, \"Table Scope initialized with %uK flows.\\n\",\n+\t\t    params->rx_num_flows_in_k);\n }\n \n /* Initialize Extended Exact Match host memory. */\n@@ -376,8 +380,9 @@ static int32_t\n ulp_eem_tbl_scope_init(struct bnxt *bp)\n {\n \tstruct tf_alloc_tbl_scope_parms params = {0};\n-\tuint32_t dev_id;\n \tstruct bnxt_ulp_device_params *dparms;\n+\tenum bnxt_ulp_flow_mem_type mtype;\n+\tuint32_t dev_id;\n \tint rc;\n \n \t/* Get the dev specific number of flows that needed to be supported. */\n@@ -392,7 +397,10 @@ ulp_eem_tbl_scope_init(struct bnxt *bp)\n \t\treturn -ENODEV;\n \t}\n \n-\tif (dparms->flow_mem_type != BNXT_ULP_FLOW_MEM_TYPE_EXT) {\n+\tif (bnxt_ulp_cntxt_mem_type_get(bp->ulp_ctx, &mtype))\n+\t\treturn -EINVAL;\n+\n+\tif (mtype != BNXT_ULP_FLOW_MEM_TYPE_EXT) {\n \t\tBNXT_TF_DBG(INFO, \"Table Scope alloc is not required\\n\");\n \t\treturn 0;\n \t}\n@@ -423,6 +431,7 @@ ulp_eem_tbl_scope_deinit(struct bnxt *bp, struct bnxt_ulp_context *ulp_ctx)\n \tstruct tf\t\t\t*tfp;\n \tint32_t\t\t\t\trc = 0;\n \tstruct bnxt_ulp_device_params *dparms;\n+\tenum bnxt_ulp_flow_mem_type mtype;\n \tuint32_t dev_id;\n \n \tif (!ulp_ctx || !ulp_ctx->cfg_data)\n@@ -446,7 +455,9 @@ ulp_eem_tbl_scope_deinit(struct bnxt *bp, struct bnxt_ulp_context *ulp_ctx)\n \t\treturn -ENODEV;\n \t}\n \n-\tif (dparms->flow_mem_type != BNXT_ULP_FLOW_MEM_TYPE_EXT) {\n+\tif (bnxt_ulp_cntxt_mem_type_get(ulp_ctx, &mtype))\n+\t\treturn -EINVAL;\n+\tif (mtype != BNXT_ULP_FLOW_MEM_TYPE_EXT) {\n \t\tBNXT_TF_DBG(INFO, \"Table Scope free is not required\\n\");\n \t\treturn 0;\n \t}\n@@ -539,8 +550,16 @@ ulp_dparms_init(struct bnxt *bp,\n \tstruct bnxt_ulp_device_params *dparms;\n \tuint32_t dev_id;\n \n-\tif (!bp->max_num_kflows)\n+\tif (!bp->max_num_kflows) {\n+\t\t/* Defaults to Internal */\n+\t\tbnxt_ulp_cntxt_mem_type_set(ulp_ctx,\n+\t\t\t\t\t    BNXT_ULP_FLOW_MEM_TYPE_INT);\n \t\treturn 0;\n+\t}\n+\n+\t/* The max_num_kflows were set, so move to external */\n+\tif (bnxt_ulp_cntxt_mem_type_set(ulp_ctx, BNXT_ULP_FLOW_MEM_TYPE_EXT))\n+\t\treturn -EINVAL;\n \n \tif (bnxt_ulp_cntxt_dev_id_get(ulp_ctx, &dev_id)) {\n \t\tBNXT_TF_DBG(DEBUG, \"Failed to get device id\\n\");\n@@ -554,11 +573,11 @@ ulp_dparms_init(struct bnxt *bp,\n \t}\n \n \t/* num_flows = max_num_kflows * 1024 */\n-\tdparms->flow_db_num_entries = bp->max_num_kflows * 1024;\n+\tdparms->ext_flow_db_num_entries = bp->max_num_kflows * 1024;\n \t/* GFID =  2 * num_flows */\n-\tdparms->mark_db_gfid_entries = dparms->flow_db_num_entries * 2;\n+\tdparms->mark_db_gfid_entries = dparms->ext_flow_db_num_entries * 2;\n \tBNXT_TF_DBG(DEBUG, \"Set the number of flows = %\"PRIu64\"\\n\",\n-\t\t    dparms->flow_db_num_entries);\n+\t\t    dparms->ext_flow_db_num_entries);\n \n \treturn 0;\n }\n@@ -568,22 +587,12 @@ static int32_t\n ulp_dparms_dev_port_intf_update(struct bnxt *bp,\n \t\t\t\tstruct bnxt_ulp_context *ulp_ctx)\n {\n-\tstruct bnxt_ulp_device_params *dparms;\n-\tuint32_t dev_id;\n+\tenum bnxt_ulp_flow_mem_type mtype;\n \n-\tif (bnxt_ulp_cntxt_dev_id_get(ulp_ctx, &dev_id)) {\n-\t\tBNXT_TF_DBG(DEBUG, \"Failed to get device id\\n\");\n-\t\treturn -EINVAL;\n-\t}\n-\n-\tdparms = bnxt_ulp_device_params_get(dev_id);\n-\tif (!dparms) {\n-\t\tBNXT_TF_DBG(DEBUG, \"Failed to get device parms\\n\");\n+\tif (bnxt_ulp_cntxt_mem_type_get(ulp_ctx, &mtype))\n \t\treturn -EINVAL;\n-\t}\n-\n \t/* Update the bp flag with gfid flag */\n-\tif (dparms->flow_mem_type == BNXT_ULP_FLOW_MEM_TYPE_EXT)\n+\tif (mtype == BNXT_ULP_FLOW_MEM_TYPE_EXT)\n \t\tbp->flags |= BNXT_FLAG_GFID_ENABLE;\n \n \treturn 0;\n@@ -1197,6 +1206,31 @@ bnxt_ulp_cntxt_dev_id_get(struct bnxt_ulp_context *ulp_ctx,\n \t\treturn 0;\n \t}\n \n+\tBNXT_TF_DBG(ERR, \"Failed to read dev_id from ulp ctxt\\n\");\n+\treturn -EINVAL;\n+}\n+\n+int32_t\n+bnxt_ulp_cntxt_mem_type_set(struct bnxt_ulp_context *ulp_ctx,\n+\t\t\t    enum bnxt_ulp_flow_mem_type mem_type)\n+{\n+\tif (ulp_ctx && ulp_ctx->cfg_data) {\n+\t\tulp_ctx->cfg_data->mem_type = mem_type;\n+\t\treturn 0;\n+\t}\n+\tBNXT_TF_DBG(ERR, \"Failed to write mem_type in ulp ctxt\\n\");\n+\treturn -EINVAL;\n+}\n+\n+int32_t\n+bnxt_ulp_cntxt_mem_type_get(struct bnxt_ulp_context *ulp_ctx,\n+\t\t\t    enum bnxt_ulp_flow_mem_type *mem_type)\n+{\n+\tif (ulp_ctx && ulp_ctx->cfg_data) {\n+\t\t*mem_type = ulp_ctx->cfg_data->mem_type;\n+\t\treturn 0;\n+\t}\n+\tBNXT_TF_DBG(ERR, \"Failed to read mem_type in ulp ctxt\\n\");\n \treturn -EINVAL;\n }\n \ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h\nindex 36405ae1e..c2c5bcb1d 100644\n--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h\n@@ -54,6 +54,7 @@ struct bnxt_ulp_data {\n \tuint32_t\t\t\tulp_flags;\n \tstruct bnxt_ulp_df_rule_info\tdf_rule_info[RTE_MAX_ETHPORTS];\n \tstruct bnxt_ulp_vfr_rule_info\tvfr_rule_info[RTE_MAX_ETHPORTS];\n+\tenum bnxt_ulp_flow_mem_type\tmem_type;\n };\n \n struct bnxt_ulp_context {\n@@ -102,6 +103,16 @@ bnxt_ulp_cntxt_dev_id_set(struct bnxt_ulp_context *ulp_ctx, uint32_t dev_id);\n int32_t\n bnxt_ulp_cntxt_dev_id_get(struct bnxt_ulp_context *ulp_ctx, uint32_t *dev_id);\n \n+/* Function to get whether or not ext mem is used for EM */\n+int32_t\n+bnxt_ulp_cntxt_mem_type_get(struct bnxt_ulp_context *ulp_ctx,\n+\t\t\t    enum bnxt_ulp_flow_mem_type *mem_type);\n+\n+/* Function to set whether or not ext mem is used for EM */\n+int32_t\n+bnxt_ulp_cntxt_mem_type_set(struct bnxt_ulp_context *ulp_ctx,\n+\t\t\t    enum bnxt_ulp_flow_mem_type mem_type);\n+\n /* Function to set the table scope id of the EEM table. */\n int32_t\n bnxt_ulp_cntxt_tbl_scope_id_set(struct bnxt_ulp_context *ulp_ctx,\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c\nindex 0a3fb015c..da012451d 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c\n@@ -298,7 +298,8 @@ ulp_flow_db_init(struct bnxt_ulp_context *ulp_ctxt)\n \tstruct bnxt_ulp_device_params *dparms;\n \tstruct bnxt_ulp_flow_tbl *flow_tbl;\n \tstruct bnxt_ulp_flow_db *flow_db;\n-\tuint32_t dev_id;\n+\tuint32_t dev_id, num_flows;\n+\tenum bnxt_ulp_flow_mem_type mtype;\n \n \t/* Get the dev specific number of flows that needed to be supported. */\n \tif (bnxt_ulp_cntxt_dev_id_get(ulp_ctxt, &dev_id)) {\n@@ -323,10 +324,17 @@ ulp_flow_db_init(struct bnxt_ulp_context *ulp_ctxt)\n \t/* Attach the flow database to the ulp context. */\n \tbnxt_ulp_cntxt_ptr2_flow_db_set(ulp_ctxt, flow_db);\n \n+\t/* Determine the number of flows based on EM type */\n+\tbnxt_ulp_cntxt_mem_type_get(ulp_ctxt, &mtype);\n+\tif (mtype == BNXT_ULP_FLOW_MEM_TYPE_INT)\n+\t\tnum_flows = dparms->int_flow_db_num_entries;\n+\telse\n+\t\tnum_flows = dparms->ext_flow_db_num_entries;\n+\n \t/* Populate the regular flow table limits. */\n \tflow_tbl = &flow_db->flow_tbl;\n-\tflow_tbl->num_flows = dparms->flow_db_num_entries + 1;\n-\tflow_tbl->num_resources = ((dparms->flow_db_num_entries + 1) *\n+\tflow_tbl->num_flows = num_flows + 1;\n+\tflow_tbl->num_resources = ((num_flows + 1) *\n \t\t\t\t   dparms->num_resources_per_flow);\n \n \t/* Include the default flow table limits. */\n@@ -350,6 +358,8 @@ ulp_flow_db_init(struct bnxt_ulp_context *ulp_ctxt)\n \t\tgoto error_free;\n \t}\n \t/* All good so return. */\n+\tBNXT_TF_DBG(INFO, \"FlowDB initialized with %d flows.\\n\",\n+\t\t    flow_tbl->num_flows);\n \treturn 0;\n error_free:\n \tulp_flow_db_deinit(ulp_ctxt);\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\nindex 0f55f4f75..812e35c27 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n@@ -1679,11 +1679,17 @@ ulp_mapper_em_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \tstruct ulp_flow_db_res_params\tfid_parms = { 0 };\n \tstruct tf_insert_em_entry_parms iparms = { 0 };\n \tstruct tf_delete_em_entry_parms free_parms = { 0 };\n+\tenum bnxt_ulp_flow_mem_type mtype;\n \tint32_t\ttrc;\n-\tenum bnxt_ulp_flow_mem_type mtype = parms->device_params->flow_mem_type;\n \tint32_t rc = 0;\n \tuint32_t encap_flds = 0;\n \n+\trc = bnxt_ulp_cntxt_mem_type_get(parms->ulp_ctx, &mtype);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed to get the mem type for EM\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\n \tkflds = ulp_mapper_key_fields_get(parms, tbl, &num_kflds);\n \tif (!kflds || !num_kflds) {\n \t\tBNXT_TF_DBG(ERR, \"Failed to get key fields\\n\");\n@@ -2327,6 +2333,8 @@ ulp_mapper_glb_resource_info_init(struct bnxt_ulp_context *ulp_ctx,\n  * Function to process the conditional opcode of the mapper table.\n  * returns 1 to skip the table.\n  * return 0 to continue processing the table.\n+ *\n+ * defaults to skip\n  */\n static int32_t\n ulp_mapper_tbl_cond_opcode_process(struct bnxt_ulp_mapper_parms *parms,\n@@ -2376,6 +2384,42 @@ ulp_mapper_tbl_cond_opcode_process(struct bnxt_ulp_mapper_parms *parms,\n \treturn rc;\n }\n \n+/*\n+ * Function to process the memtype opcode of the mapper table.\n+ * returns 1 to skip the table.\n+ * return 0 to continue processing the table.\n+ *\n+ * defaults to skip\n+ */\n+static int32_t\n+ulp_mapper_tbl_memtype_opcode_process(struct bnxt_ulp_mapper_parms *parms,\n+\t\t\t\t      struct bnxt_ulp_mapper_tbl_info *tbl)\n+{\n+\tenum bnxt_ulp_flow_mem_type mtype = BNXT_ULP_FLOW_MEM_TYPE_INT;\n+\tint32_t rc = 1;\n+\n+\tbnxt_ulp_cntxt_mem_type_get(parms->ulp_ctx, &mtype);\n+\n+\tswitch (tbl->mem_type_opcode) {\n+\tcase BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT:\n+\t\tif (mtype == BNXT_ULP_FLOW_MEM_TYPE_INT)\n+\t\t\trc = 0;\n+\t\tbreak;\n+\tcase BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT:\n+\t\tif (mtype == BNXT_ULP_FLOW_MEM_TYPE_EXT)\n+\t\t\trc = 0;\n+\t\tbreak;\n+\tcase BNXT_ULP_MEM_TYPE_OPCODE_NOP:\n+\t\trc = 0;\n+\t\tbreak;\n+\tdefault:\n+\t\tBNXT_TF_DBG(ERR,\n+\t\t\t    \"Invalid arg in mapper in memtype opcode\\n\");\n+\t\tbreak;\n+\t}\n+\treturn rc;\n+}\n+\n static int32_t\n ulp_mapper_tbls_process(struct bnxt_ulp_mapper_parms *parms, uint32_t tid)\n {\n@@ -2394,6 +2438,8 @@ ulp_mapper_tbls_process(struct bnxt_ulp_mapper_parms *parms, uint32_t tid)\n \tfor (i = 0; i < num_tbls; i++) {\n \t\tstruct bnxt_ulp_mapper_tbl_info *tbl = &tbls[i];\n \n+\t\tif (ulp_mapper_tbl_memtype_opcode_process(parms, tbl))\n+\t\t\tcontinue;\n \t\tif (ulp_mapper_tbl_cond_opcode_process(parms, tbl))\n \t\t\tcontinue;\n \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 e083af0ae..81da34e3a 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@@ -235,6 +235,13 @@ enum bnxt_ulp_match_type {\n \tBNXT_ULP_MATCH_TYPE_LAST = 2\n };\n \n+enum bnxt_ulp_mem_type_opcode {\n+\tBNXT_ULP_MEM_TYPE_OPCODE_NOP = 0,\n+\tBNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT = 1,\n+\tBNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT = 2,\n+\tBNXT_ULP_MEM_TYPE_OPCODE_LAST = 3\n+};\n+\n enum bnxt_ulp_priority {\n \tBNXT_ULP_PRIORITY_LEVEL_0 = 0,\n \tBNXT_ULP_PRIORITY_LEVEL_1 = 1,\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_act.c\nindex 01d3b8dcb..a5019d664 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_act.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_act.c\n@@ -11,38 +11,38 @@\n struct bnxt_ulp_mapper_tbl_list_info ulp_act_stingray_tmpl_list[] = {\n \t[1] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n+\t.num_tbls = 6,\n \t.start_tbl_idx = 0,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[2] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 2,\n-\t.start_tbl_idx = 5,\n+\t.num_tbls = 3,\n+\t.start_tbl_idx = 6,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[3] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 2,\n-\t.start_tbl_idx = 7,\n+\t.num_tbls = 3,\n+\t.start_tbl_idx = 9,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[4] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 9,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 12,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[5] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 14,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 18,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[6] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 3,\n-\t.start_tbl_idx = 19,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 24,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t}\n };\n@@ -104,6 +104,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n \t.result_start_idx = 3,\n@@ -116,9 +117,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n-\t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n \t.result_start_idx = 15,\n@@ -131,6 +133,22 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n+\t.direction = TF_DIR_RX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 41,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 0,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_ACT_STATS_64,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,\n@@ -138,7 +156,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 41,\n+\t.result_start_idx = 67,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -148,12 +166,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 68,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 0,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 42,\n+\t.result_start_idx = 94,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n@@ -170,7 +205,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 68,\n+\t.result_start_idx = 120,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -180,12 +215,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 121,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 0,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 69,\n+\t.result_start_idx = 147,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n@@ -202,7 +254,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 95,\n+\t.result_start_idx = 173,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -219,7 +271,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.result_start_idx = 96,\n+\t.result_start_idx = 174,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 3,\n@@ -236,7 +288,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.result_start_idx = 99,\n+\t.result_start_idx = 177,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 3,\n@@ -251,7 +303,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.result_start_idx = 102,\n+\t.result_start_idx = 180,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 12,\n@@ -261,12 +313,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 192,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 12,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 114,\n+\t.result_start_idx = 230,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n@@ -283,7 +352,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 140,\n+\t.result_start_idx = 256,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -300,7 +369,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 141,\n+\t.result_start_idx = 257,\n \t.result_bit_size = 32,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -317,7 +386,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 142,\n+\t.result_start_idx = 258,\n \t.result_bit_size = 32,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -330,9 +399,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 143,\n+\t.result_start_idx = 259,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 12,\n@@ -345,9 +415,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 155,\n+\t.result_start_idx = 271,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n@@ -357,6 +428,22 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 297,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 11,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_ACT_STATS_64,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,\n@@ -364,7 +451,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 181,\n+\t.result_start_idx = 334,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -377,11 +464,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,\n \t.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 182,\n+\t.result_start_idx = 335,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 12,\n@@ -394,15 +482,52 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n+\t.direction = TF_DIR_TX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 347,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 0,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_NOT_SET,\n+\t.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 194,\n+\t.result_start_idx = 373,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n \t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n \t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,\n+\t.direction = TF_DIR_TX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 399,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 11,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n \t}\n };\n \n@@ -519,6 +644,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -540,6 +669,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -669,18 +804,6 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 64,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n \t.field_bit_size = 14,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -729,10 +852,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 11,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n \t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,\n+\t\t(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n@@ -824,18 +947,20 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,\n \t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n@@ -849,17 +974,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -871,17 +986,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -931,6 +1036,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -947,20 +1056,64 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 10,\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 10,\n@@ -976,11 +1129,21 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 4,\n@@ -1031,11 +1194,224 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -1046,73 +1422,1284 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 64,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 64,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_L2_EN_YES,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 80,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 32,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 128,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 16,\n+\t.field_bit_size = 3,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {\n-\t\tBNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\tBNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,\n+\t\tBNXT_ULP_SYM_ECV_L2_EN_YES,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -1121,13 +2708,48 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 64,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,\n+\t\tBNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -1140,55 +2762,39 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 16,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 0,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 0,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 32,\n+\t.field_bit_size = 3,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 0,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 80,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 14,\n@@ -1276,11 +2882,21 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 4,\n@@ -1309,90 +2925,24 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 64,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 32,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 32,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n \t.result_operand = {\n-\t\tBNXT_ULP_SYM_ECV_L2_EN_YES,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 12,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 80,\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n@@ -1431,6 +2981,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -1444,68 +2998,27 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 11,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,\n-\t\tBNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_true = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_true = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 10,\n@@ -1539,21 +3052,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 12,\n@@ -1578,90 +3077,19 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 64,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n \t.result_operand = {\n-\t\tBNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 12,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 80,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n \t.field_bit_size = 14,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -1697,6 +3125,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -1710,12 +3142,11 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 11,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 10,\n@@ -1778,7 +3209,17 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -1803,11 +3244,68 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t}\n };\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_class.c\nindex f365c5c5b..b5bdb94e8 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_class.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_stingray_class.c\n@@ -41,110 +41,110 @@ struct bnxt_ulp_mapper_tbl_list_info ulp_class_stingray_tmpl_list[] = {\n \t},\n \t[6] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n+\t.num_tbls = 5,\n \t.start_tbl_idx = 28,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[7] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 32,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 33,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[8] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 36,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 38,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[9] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 41,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 44,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[10] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 46,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 50,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[11] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 51,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 56,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[12] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 56,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 62,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[13] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 60,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 67,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[14] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 64,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 72,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[15] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 68,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 77,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[16] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 72,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 82,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[17] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 76,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 87,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[18] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 80,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 92,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[19] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 85,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 98,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[20] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 90,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 104,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[21] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 95,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 110,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[22] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 100,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 116,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[23] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 104,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 121,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t}\n };\n@@ -629,14 +629,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 167,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 306,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 5,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 167,\n+\t.key_start_idx = 178,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 306,\n+\t.result_start_idx = 315,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -651,11 +670,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 178,\n+\t.key_start_idx = 189,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 315,\n+\t.result_start_idx = 324,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -670,11 +689,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 191,\n+\t.key_start_idx = 202,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 328,\n+\t.result_start_idx = 337,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -687,11 +706,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_1,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 194,\n+\t.key_start_idx = 205,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 329,\n+\t.result_start_idx = 338,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -701,14 +720,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 248,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 346,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 7,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 237,\n+\t.key_start_idx = 259,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 337,\n+\t.result_start_idx = 355,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -723,11 +761,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 248,\n+\t.key_start_idx = 270,\n \t.blob_key_bit_size = 12,\n \t.key_bit_size = 12,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 346,\n+\t.result_start_idx = 364,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -740,11 +778,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 249,\n+\t.key_start_idx = 271,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 347,\n+\t.result_start_idx = 365,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -759,11 +797,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 262,\n+\t.key_start_idx = 284,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 360,\n+\t.result_start_idx = 378,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -776,11 +814,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 265,\n+\t.key_start_idx = 287,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 361,\n+\t.result_start_idx = 379,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -790,14 +828,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 330,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 387,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 9,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 308,\n+\t.key_start_idx = 341,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 369,\n+\t.result_start_idx = 396,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -812,11 +869,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 319,\n+\t.key_start_idx = 352,\n \t.blob_key_bit_size = 12,\n \t.key_bit_size = 12,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 378,\n+\t.result_start_idx = 405,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -829,11 +886,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 320,\n+\t.key_start_idx = 353,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 379,\n+\t.result_start_idx = 406,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -848,11 +905,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 333,\n+\t.key_start_idx = 366,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 392,\n+\t.result_start_idx = 419,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -865,11 +922,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 336,\n+\t.key_start_idx = 369,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 393,\n+\t.result_start_idx = 420,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -879,14 +936,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 412,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 428,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 11,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 379,\n+\t.key_start_idx = 423,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 401,\n+\t.result_start_idx = 437,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -901,11 +977,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 390,\n+\t.key_start_idx = 434,\n \t.blob_key_bit_size = 12,\n \t.key_bit_size = 12,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 410,\n+\t.result_start_idx = 446,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -918,11 +994,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 391,\n+\t.key_start_idx = 435,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 411,\n+\t.result_start_idx = 447,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -937,11 +1013,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 404,\n+\t.key_start_idx = 448,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 424,\n+\t.result_start_idx = 460,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -954,11 +1030,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 407,\n+\t.key_start_idx = 451,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 425,\n+\t.result_start_idx = 461,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -968,14 +1044,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 494,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 469,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 13,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 450,\n+\t.key_start_idx = 505,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 433,\n+\t.result_start_idx = 478,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -990,11 +1085,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 461,\n+\t.key_start_idx = 516,\n \t.blob_key_bit_size = 12,\n \t.key_bit_size = 12,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 442,\n+\t.result_start_idx = 487,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1007,11 +1102,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 462,\n+\t.key_start_idx = 517,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 443,\n+\t.result_start_idx = 488,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1026,11 +1121,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 475,\n+\t.key_start_idx = 530,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 456,\n+\t.result_start_idx = 501,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1043,11 +1138,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 478,\n+\t.key_start_idx = 533,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 457,\n+\t.result_start_idx = 502,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1057,14 +1152,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 576,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 510,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 15,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 521,\n+\t.key_start_idx = 587,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 465,\n+\t.result_start_idx = 519,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1079,11 +1193,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 532,\n+\t.key_start_idx = 598,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 474,\n+\t.result_start_idx = 528,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1098,11 +1212,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 545,\n+\t.key_start_idx = 611,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 487,\n+\t.result_start_idx = 541,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1115,11 +1229,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 548,\n+\t.key_start_idx = 614,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 488,\n+\t.result_start_idx = 542,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1129,14 +1243,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 657,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 550,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 17,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 591,\n+\t.key_start_idx = 668,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 496,\n+\t.result_start_idx = 559,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1151,11 +1284,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 602,\n+\t.key_start_idx = 679,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 505,\n+\t.result_start_idx = 568,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1170,11 +1303,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 615,\n+\t.key_start_idx = 692,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 518,\n+\t.result_start_idx = 581,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1187,11 +1320,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 618,\n+\t.key_start_idx = 695,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 519,\n+\t.result_start_idx = 582,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1201,14 +1334,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 738,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 590,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 19,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 661,\n+\t.key_start_idx = 749,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 527,\n+\t.result_start_idx = 599,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1223,11 +1375,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 672,\n+\t.key_start_idx = 760,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 536,\n+\t.result_start_idx = 608,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1242,11 +1394,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 685,\n+\t.key_start_idx = 773,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 549,\n+\t.result_start_idx = 621,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1259,11 +1411,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 688,\n+\t.key_start_idx = 776,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 550,\n+\t.result_start_idx = 622,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1273,14 +1425,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 819,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 630,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 21,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 731,\n+\t.key_start_idx = 830,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 558,\n+\t.result_start_idx = 639,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1295,11 +1466,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 742,\n+\t.key_start_idx = 841,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 567,\n+\t.result_start_idx = 648,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1314,11 +1485,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 755,\n+\t.key_start_idx = 854,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 580,\n+\t.result_start_idx = 661,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1331,11 +1502,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 758,\n+\t.key_start_idx = 857,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 581,\n+\t.result_start_idx = 662,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1345,14 +1516,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 900,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 670,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 23,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 801,\n+\t.key_start_idx = 911,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 589,\n+\t.result_start_idx = 679,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1367,11 +1557,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 812,\n+\t.key_start_idx = 922,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 598,\n+\t.result_start_idx = 688,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1386,11 +1576,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 825,\n+\t.key_start_idx = 935,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 611,\n+\t.result_start_idx = 701,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1403,11 +1593,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 828,\n+\t.key_start_idx = 938,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 612,\n+\t.result_start_idx = 702,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1417,14 +1607,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 981,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 710,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 25,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 871,\n+\t.key_start_idx = 992,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 620,\n+\t.result_start_idx = 719,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1439,11 +1648,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 882,\n+\t.key_start_idx = 1003,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 629,\n+\t.result_start_idx = 728,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1458,11 +1667,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 895,\n+\t.key_start_idx = 1016,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 642,\n+\t.result_start_idx = 741,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1475,11 +1684,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 898,\n+\t.key_start_idx = 1019,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 643,\n+\t.result_start_idx = 742,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1489,14 +1698,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 1062,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 750,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 27,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 941,\n+\t.key_start_idx = 1073,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 651,\n+\t.result_start_idx = 759,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1511,11 +1739,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 952,\n+\t.key_start_idx = 1084,\n \t.blob_key_bit_size = 12,\n \t.key_bit_size = 12,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 660,\n+\t.result_start_idx = 768,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1528,11 +1756,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 953,\n+\t.key_start_idx = 1085,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 661,\n+\t.result_start_idx = 769,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1547,11 +1775,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 966,\n+\t.key_start_idx = 1098,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 674,\n+\t.result_start_idx = 782,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1564,11 +1792,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 969,\n+\t.key_start_idx = 1101,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 675,\n+\t.result_start_idx = 783,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1578,14 +1806,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1144,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 791,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 29,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1012,\n+\t.key_start_idx = 1155,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 683,\n+\t.result_start_idx = 800,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1600,11 +1847,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1023,\n+\t.key_start_idx = 1166,\n \t.blob_key_bit_size = 12,\n \t.key_bit_size = 12,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 692,\n+\t.result_start_idx = 809,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1617,11 +1864,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1024,\n+\t.key_start_idx = 1167,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 693,\n+\t.result_start_idx = 810,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1636,11 +1883,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1037,\n+\t.key_start_idx = 1180,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 706,\n+\t.result_start_idx = 823,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1653,11 +1900,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1040,\n+\t.key_start_idx = 1183,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 707,\n+\t.result_start_idx = 824,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1667,14 +1914,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1226,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 832,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 31,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1083,\n+\t.key_start_idx = 1237,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 715,\n+\t.result_start_idx = 841,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1689,11 +1955,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1094,\n+\t.key_start_idx = 1248,\n \t.blob_key_bit_size = 12,\n \t.key_bit_size = 12,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 724,\n+\t.result_start_idx = 850,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1706,11 +1972,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1095,\n+\t.key_start_idx = 1249,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 725,\n+\t.result_start_idx = 851,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1725,11 +1991,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1108,\n+\t.key_start_idx = 1262,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 738,\n+\t.result_start_idx = 864,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1742,11 +2008,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1111,\n+\t.key_start_idx = 1265,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 739,\n+\t.result_start_idx = 865,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1756,14 +2022,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1308,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 873,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 33,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1154,\n+\t.key_start_idx = 1319,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 747,\n+\t.result_start_idx = 882,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1778,11 +2063,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1165,\n+\t.key_start_idx = 1330,\n \t.blob_key_bit_size = 12,\n \t.key_bit_size = 12,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 756,\n+\t.result_start_idx = 891,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1795,11 +2080,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1166,\n+\t.key_start_idx = 1331,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 757,\n+\t.result_start_idx = 892,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1814,11 +2099,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1179,\n+\t.key_start_idx = 1344,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 770,\n+\t.result_start_idx = 905,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1831,11 +2116,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1182,\n+\t.key_start_idx = 1347,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 771,\n+\t.result_start_idx = 906,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1845,14 +2130,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1390,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 914,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 35,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1225,\n+\t.key_start_idx = 1401,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 779,\n+\t.result_start_idx = 923,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1867,11 +2171,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,\n-\t.key_start_idx = 1236,\n+\t.key_start_idx = 1412,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 788,\n+\t.result_start_idx = 932,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1886,11 +2190,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1249,\n+\t.key_start_idx = 1425,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 801,\n+\t.result_start_idx = 945,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1903,11 +2207,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1252,\n+\t.key_start_idx = 1428,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 802,\n+\t.result_start_idx = 946,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1917,14 +2221,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n-\t.resource_type = TF_MEM_INTERNAL,\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1295,\n-\t.blob_key_bit_size = 104,\n-\t.key_bit_size = 104,\n+\t.key_start_idx = 1471,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n \t.key_num_fields = 7,\n-\t.result_start_idx = 810,\n+\t.result_start_idx = 954,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1934,16 +2239,34 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES\n \t},\n \t{\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n-\t.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n+\t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n-\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,\n-\t.key_start_idx = 1302,\n+\t.key_start_idx = 1478,\n+\t.blob_key_bit_size = 104,\n+\t.key_bit_size = 104,\n+\t.key_num_fields = 7,\n+\t.result_start_idx = 963,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 37,\n+\t.ident_nums = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,\n+\t.direction = TF_DIR_TX,\n+\t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,\n+\t.key_start_idx = 1485,\n \t.blob_key_bit_size = 171,\n \t.key_bit_size = 171,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 819,\n+\t.result_start_idx = 972,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1958,11 +2281,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1315,\n+\t.key_start_idx = 1498,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 832,\n+\t.result_start_idx = 985,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1975,11 +2298,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1318,\n+\t.key_start_idx = 1501,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 833,\n+\t.result_start_idx = 986,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1989,14 +2312,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1544,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 7,\n+\t.result_start_idx = 994,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 39,\n+\t.ident_nums = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES\n+\t},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1361,\n+\t.key_start_idx = 1551,\n \t.blob_key_bit_size = 104,\n \t.key_bit_size = 104,\n \t.key_num_fields = 7,\n-\t.result_start_idx = 841,\n+\t.result_start_idx = 1003,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -3084,6 +3426,76 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF6_IDX_O_ETH_SMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF6_IDX_O_ETH_SMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -3551,6 +3963,76 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF7_IDX_O_ETH_SMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF7_IDX_O_ETH_SMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -4009,6 +4491,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF8_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF8_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF8_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF8_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF8_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF8_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF8_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF8_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -4482,6 +5053,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF9_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF9_IDX_O_TCP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF9_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF9_IDX_O_TCP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF9_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF9_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF9_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF9_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -4963,6 +5623,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 59,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF10_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF10_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF10_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF10_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF10_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF10_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF10_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF10_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -5440,7 +6189,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 59,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -5529,89 +6278,178 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_OO_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_OO_VLAN_VID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.spec_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_OO_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_OO_VLAN_VID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_O_ETH_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_O_ETH_DMAC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_O_ETH_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_O_ETH_DMAC & 0xff,\n+\t\t(BNXT_ULP_HF11_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF11_IDX_O_TCP_DST_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_SVIF_INDEX & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_SVIF_INDEX & 0xff,\n+\t\t(BNXT_ULP_HF11_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF11_IDX_O_TCP_SRC_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 8,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 128,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF11_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF11_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 128,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 2,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n-\t\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,\n-\t\tBNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff,\n+\t\t(BNXT_ULP_HF11_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF11_IDX_O_IPV6_SRC_ADDR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 2,\n+\t.field_bit_size = 48,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 4,\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_OO_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_OO_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_OO_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_OO_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n+\t\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -5936,6 +6774,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -6428,7 +7355,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 251,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -6517,67 +7444,156 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF14_IDX_OO_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_HF14_IDX_OO_VLAN_VID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.spec_operand = {\n-\t\t(BNXT_ULP_HF14_IDX_OO_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_HF14_IDX_OO_VLAN_VID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF14_IDX_O_ETH_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_HF14_IDX_O_ETH_DMAC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF14_IDX_O_ETH_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_HF14_IDX_O_ETH_DMAC & 0xff,\n+\t\t(BNXT_ULP_HF13_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF13_IDX_O_TCP_DST_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF14_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF14_IDX_SVIF_INDEX & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF14_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF14_IDX_SVIF_INDEX & 0xff,\n+\t\t(BNXT_ULP_HF13_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF13_IDX_O_TCP_SRC_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 8,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF13_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF13_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF13_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF13_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_OO_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_OO_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_OO_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_OO_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -6928,6 +7944,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 59,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -7424,7 +8529,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 59,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -7513,61 +8618,63 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n-\t\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF16_IDX_O_ETH_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_HF16_IDX_O_ETH_DMAC & 0xff,\n+\t\t(BNXT_ULP_HF15_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF15_IDX_O_TCP_DST_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF16_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF16_IDX_SVIF_INDEX & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF16_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF16_IDX_SVIF_INDEX & 0xff,\n+\t\t(BNXT_ULP_HF15_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF15_IDX_O_TCP_SRC_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF16_IDX_OO_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_HF16_IDX_OO_VLAN_VID & 0xff,\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF16_IDX_OO_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_HF16_IDX_OO_VLAN_VID & 0xff,\n+\t\t(BNXT_ULP_HF15_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF15_IDX_O_IPV6_DST_ADDR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 128,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF15_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF15_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 48,\n@@ -7575,7 +8682,94 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 2,\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n+\t\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF16_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF16_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF16_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF16_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF16_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF16_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF16_IDX_OO_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_HF16_IDX_OO_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF16_IDX_OO_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_HF16_IDX_OO_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -7917,6 +9111,80 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF16_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF16_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -8399,6 +9667,80 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 59,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF17_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF17_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -8857,7 +10199,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 251,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -8946,27 +10288,116 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.spec_operand = {\n-\t\t(BNXT_ULP_HF19_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF19_IDX_SVIF_INDEX & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 16,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -9326,6 +10757,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_O_TCP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_O_TCP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -9803,7 +11323,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 59,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -9892,78 +11412,167 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.spec_operand = {\n-\t\t(BNXT_ULP_HF21_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF21_IDX_SVIF_INDEX & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 16,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF20_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF20_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF21_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF21_IDX_SVIF_INDEX & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF21_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF21_IDX_SVIF_INDEX & 0xff,\n+\t\t(BNXT_ULP_HF20_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF20_IDX_O_UDP_SRC_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 8,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 128,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF20_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF20_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 128,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF20_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF20_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 2,\n+\t.field_bit_size = 48,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 2,\n+\t.field_bit_size = 24,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 4,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n-\t\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.spec_operand = {\n-\t\tBNXT_ULP_SYM_TUN_HDR_TYPE_NONE,\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n+\t\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_TUN_HDR_TYPE_NONE,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n@@ -10276,6 +11885,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 59,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_O_TCP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_O_TCP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -10766,6 +12464,56 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 351,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF22_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF22_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 7,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -11221,7 +12969,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 7,\n+\t.field_bit_size = 351,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -11269,36 +13017,86 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[]\n \t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t}\n-};\n-\n-struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[] = {\n-\t{\n-\t.field_bit_size = 14,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 7,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 8,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF23_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF23_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t}\n+};\n+\n+struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[] = {\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n@@ -12791,6 +14589,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -12969,6 +14821,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -13156,6 +15062,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -13343,39 +15303,93 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 10,\n+\t.field_bit_size = 33,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 7,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,\n-\t\tBNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 7,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n \t.result_operand = {\n \t\t(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,\n \t\tBNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff,\n@@ -13530,6 +15544,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -13717,6 +15785,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -13895,6 +16017,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14073,6 +16249,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14251,6 +16481,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14341,33 +16625,81 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00f9 >> 8) & 0xff,\n+\t\t0x00f9 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n-\t\t(0x00f9 >> 8) & 0xff,\n-\t\t0x00f9 & 0xff,\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 5,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 8,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 1,\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n@@ -14375,6 +16707,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 33,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14607,6 +16945,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14785,6 +17177,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14987,6 +17433,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15093,41 +17593,89 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 8,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00f9 >> 8) & 0xff,\n+\t\t0x00f9 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {\n-\t\t(0x00f9 >> 8) & 0xff,\n-\t\t0x00f9 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n \t.field_bit_size = 5,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 8,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 1,\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n@@ -15135,6 +17683,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 33,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15391,6 +17945,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15593,6 +18201,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15786,6 +18448,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0061 >> 8) & 0xff,\n+\t\t0x0061 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15975,6 +18691,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[]\n \t{\n \t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0061 >> 8) & 0xff,\n+\t\t0x0061 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t}\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c\nindex 86fd489b9..4904a41c3 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c\n@@ -314,42 +314,42 @@ struct bnxt_ulp_cache_tbl_params ulp_cache_tbl_params[] = {\n \n const struct ulp_template_device_tbls ulp_template_stingray_tbls[] = {\n \t[BNXT_ULP_TEMPLATE_TYPE_CLASS] = {\n-\t\t.tmpl_list = ulp_class_stingray_tmpl_list,\n-\t\t.tbl_list = ulp_class_stingray_tbl_list,\n-\t\t.key_field_list = ulp_class_stingray_key_field_list,\n-\t\t.result_field_list = ulp_class_stingray_result_field_list,\n-\t\t.ident_list = ulp_class_stingray_ident_list\n+\t.tmpl_list               = ulp_class_stingray_tmpl_list,\n+\t.tbl_list                = ulp_class_stingray_tbl_list,\n+\t.key_field_list          = ulp_class_stingray_key_field_list,\n+\t.result_field_list       = ulp_class_stingray_result_field_list,\n+\t.ident_list              = ulp_class_stingray_ident_list\n \t},\n \t[BNXT_ULP_TEMPLATE_TYPE_ACTION] = {\n-\t\t.tmpl_list = ulp_act_stingray_tmpl_list,\n-\t\t.tbl_list = ulp_act_stingray_tbl_list,\n-\t\t.result_field_list = ulp_act_stingray_result_field_list,\n+\t.tmpl_list               = ulp_act_stingray_tmpl_list,\n+\t.tbl_list                = ulp_act_stingray_tbl_list,\n+\t.result_field_list       = ulp_act_stingray_result_field_list\n \t}\n };\n \n const struct ulp_template_device_tbls ulp_template_wh_plus_tbls[] = {\n \t[BNXT_ULP_TEMPLATE_TYPE_CLASS] = {\n-\t\t.tmpl_list = ulp_class_wh_plus_tmpl_list,\n-\t\t.tbl_list = ulp_class_wh_plus_tbl_list,\n-\t\t.key_field_list = ulp_class_wh_plus_key_field_list,\n-\t\t.result_field_list = ulp_class_wh_plus_result_field_list,\n-\t\t.ident_list = ulp_class_wh_plus_ident_list,\n+\t.tmpl_list               = ulp_class_wh_plus_tmpl_list,\n+\t.tbl_list                = ulp_class_wh_plus_tbl_list,\n+\t.key_field_list          = ulp_class_wh_plus_key_field_list,\n+\t.result_field_list       = ulp_class_wh_plus_result_field_list,\n+\t.ident_list              = ulp_class_wh_plus_ident_list\n \t},\n \t[BNXT_ULP_TEMPLATE_TYPE_ACTION] = {\n-\t\t.tmpl_list = ulp_act_wh_plus_tmpl_list,\n-\t\t.tbl_list = ulp_act_wh_plus_tbl_list,\n-\t\t.result_field_list = ulp_act_wh_plus_result_field_list\n+\t.tmpl_list               = ulp_act_wh_plus_tmpl_list,\n+\t.tbl_list                = ulp_act_wh_plus_tbl_list,\n+\t.result_field_list       = ulp_act_wh_plus_result_field_list\n \t}\n };\n \n struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {\n \t[BNXT_ULP_DEVICE_ID_WH_PLUS] = {\n-\t.flow_mem_type           = BNXT_ULP_FLOW_MEM_TYPE_INT,\n \t.byte_order              = BNXT_ULP_BYTE_ORDER_LE,\n \t.encap_byte_swap         = 1,\n-\t.flow_db_num_entries     = 16384,\n+\t.int_flow_db_num_entries = 16384,\n+\t.ext_flow_db_num_entries = 32768,\n \t.mark_db_lfid_entries    = 65536,\n-\t.mark_db_gfid_entries    = 0,\n+\t.mark_db_gfid_entries    = 65536,\n \t.flow_count_db_entries   = 16384,\n \t.num_resources_per_flow  = 8,\n \t.num_phy_ports           = 2,\n@@ -358,15 +358,15 @@ struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {\n \t.packet_count_mask       = 0xffffffff00000000,\n \t.byte_count_shift        = 0,\n \t.packet_count_shift      = 36,\n-\t.dev_tbls\t\t = ulp_template_wh_plus_tbls\n+\t.dev_tbls                = ulp_template_wh_plus_tbls\n \t},\n \t[BNXT_ULP_DEVICE_ID_STINGRAY] = {\n-\t.flow_mem_type           = BNXT_ULP_FLOW_MEM_TYPE_INT,\n \t.byte_order              = BNXT_ULP_BYTE_ORDER_LE,\n \t.encap_byte_swap         = 1,\n-\t.flow_db_num_entries     = 16384,\n+\t.int_flow_db_num_entries = 16384,\n+\t.ext_flow_db_num_entries = 32768,\n \t.mark_db_lfid_entries    = 65536,\n-\t.mark_db_gfid_entries    = 0,\n+\t.mark_db_gfid_entries    = 65536,\n \t.flow_count_db_entries   = 16384,\n \t.num_resources_per_flow  = 8,\n \t.num_phy_ports           = 2,\n@@ -375,7 +375,7 @@ struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {\n \t.packet_count_mask       = 0xffffffff00000000,\n \t.byte_count_shift        = 0,\n \t.packet_count_shift      = 36,\n-\t.dev_tbls\t\t = ulp_template_stingray_tbls\n+\t.dev_tbls                = ulp_template_stingray_tbls\n \t}\n };\n \ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c\nindex 3e9ec260e..82b2ad980 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c\n@@ -11,38 +11,38 @@\n struct bnxt_ulp_mapper_tbl_list_info ulp_act_wh_plus_tmpl_list[] = {\n \t[1] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n+\t.num_tbls = 6,\n \t.start_tbl_idx = 0,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[2] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 2,\n-\t.start_tbl_idx = 5,\n+\t.num_tbls = 3,\n+\t.start_tbl_idx = 6,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[3] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 2,\n-\t.start_tbl_idx = 7,\n+\t.num_tbls = 3,\n+\t.start_tbl_idx = 9,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[4] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 9,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 12,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[5] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 14,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 18,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[6] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 3,\n-\t.start_tbl_idx = 19,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 24,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t}\n };\n@@ -116,9 +116,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n-\t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n \t.result_start_idx = 15,\n@@ -131,6 +132,22 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n+\t.direction = TF_DIR_RX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 41,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 0,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_ACT_STATS_64,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,\n@@ -138,7 +155,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 41,\n+\t.result_start_idx = 67,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -148,12 +165,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 68,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 0,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 42,\n+\t.result_start_idx = 94,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n@@ -170,7 +204,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 68,\n+\t.result_start_idx = 120,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -180,12 +214,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 121,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 0,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 69,\n+\t.result_start_idx = 147,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n@@ -202,7 +253,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 95,\n+\t.result_start_idx = 173,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -219,7 +270,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.result_start_idx = 96,\n+\t.result_start_idx = 174,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 3,\n@@ -236,7 +287,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.result_start_idx = 99,\n+\t.result_start_idx = 177,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 3,\n@@ -251,7 +302,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.result_start_idx = 102,\n+\t.result_start_idx = 180,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 12,\n@@ -261,12 +312,29 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 192,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 12,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 114,\n+\t.result_start_idx = 230,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n@@ -283,7 +351,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 140,\n+\t.result_start_idx = 256,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -300,7 +368,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 141,\n+\t.result_start_idx = 257,\n \t.result_bit_size = 32,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -317,7 +385,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 142,\n+\t.result_start_idx = 258,\n \t.result_bit_size = 32,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -330,9 +398,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 143,\n+\t.result_start_idx = 259,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 12,\n@@ -345,9 +414,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 155,\n+\t.result_start_idx = 271,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n@@ -357,6 +427,22 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t},\n \t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 297,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 11,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_ACT_STATS_64,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,\n@@ -364,7 +450,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 181,\n+\t.result_start_idx = 334,\n \t.result_bit_size = 64,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -377,11 +463,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,\n \t.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 182,\n+\t.result_start_idx = 335,\n \t.result_bit_size = 0,\n \t.result_num_fields = 0,\n \t.encap_num_fields = 12,\n@@ -394,15 +481,52 @@ struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {\n \t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n+\t.direction = TF_DIR_TX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 347,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 0,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_NOT_SET,\n+\t.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,\n \t.direction = TF_DIR_TX,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.result_start_idx = 194,\n+\t.result_start_idx = 373,\n \t.result_bit_size = 128,\n \t.result_num_fields = 26,\n \t.encap_num_fields = 0,\n \t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n \t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_EXT,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,\n+\t.direction = TF_DIR_TX,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n+\t.result_start_idx = 399,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 26,\n+\t.encap_num_fields = 11,\n+\t.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,\n+\t.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP\n \t}\n };\n \n@@ -519,6 +643,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -540,6 +668,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -669,18 +803,6 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 64,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n \t.field_bit_size = 14,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -729,10 +851,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 11,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n \t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,\n+\t\t(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n@@ -824,18 +946,20 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,\n \t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n@@ -849,17 +973,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -871,17 +985,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -931,6 +1035,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -947,20 +1055,64 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 10,\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 10,\n@@ -976,11 +1128,21 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 4,\n@@ -1031,11 +1193,224 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -1046,73 +1421,1284 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 64,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 0,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 64,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_L2_EN_YES,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 80,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 32,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 128,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 16,\n+\t.field_bit_size = 3,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {\n-\t\tBNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\tBNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,\n+\t\tBNXT_ULP_SYM_ECV_L2_EN_YES,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -1121,13 +2707,48 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 64,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,\n+\t\tBNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -1140,55 +2761,39 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 16,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 0,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 0,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 32,\n+\t.field_bit_size = 3,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n \t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 0,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,\n-\t\t(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 80,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 14,\n@@ -1276,11 +2881,21 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 4,\n@@ -1309,90 +2924,24 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 64,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 32,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 32,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n \t.result_operand = {\n-\t\tBNXT_ULP_SYM_ECV_L2_EN_YES,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 12,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 80,\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n@@ -1431,6 +2980,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -1444,68 +2997,27 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 11,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,\n-\t\tBNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_true = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_true = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 10,\n@@ -1539,21 +3051,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,\n-\t.result_operand = {\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,\n-\t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,\n-\t\t(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 12,\n@@ -1578,90 +3076,19 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 64,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n \t.result_operand = {\n-\t\tBNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 16,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 12,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n-\t.field_bit_size = 3,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,\n-\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 80,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n-\t},\n-\t{\n \t.field_bit_size = 14,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -1697,6 +3124,10 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -1710,12 +3141,11 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 11,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 10,\n@@ -1778,7 +3208,17 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t},\n \t{\n \t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,\n+\t.result_operand = {\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n@@ -1803,11 +3243,68 @@ struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\tBNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,\n+\t\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t}\n };\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c\nindex b747241cd..9f40b39d8 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c\n@@ -41,110 +41,110 @@ struct bnxt_ulp_mapper_tbl_list_info ulp_class_wh_plus_tmpl_list[] = {\n \t},\n \t[6] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n+\t.num_tbls = 5,\n \t.start_tbl_idx = 28,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[7] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 32,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 33,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[8] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 36,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 38,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[9] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 41,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 44,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[10] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 46,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 50,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[11] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 51,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 56,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[12] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 56,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 62,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[13] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 60,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 67,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[14] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 64,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 72,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[15] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 68,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 77,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[16] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 72,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 82,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[17] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 76,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 87,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[18] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 80,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 92,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[19] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 85,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 98,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[20] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 90,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 104,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[21] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 5,\n-\t.start_tbl_idx = 95,\n+\t.num_tbls = 6,\n+\t.start_tbl_idx = 110,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[22] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 100,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 116,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t},\n \t[23] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.num_tbls = 4,\n-\t.start_tbl_idx = 104,\n+\t.num_tbls = 5,\n+\t.start_tbl_idx = 121,\n \t.flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR\n \t}\n };\n@@ -629,14 +629,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 167,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 306,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 5,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 167,\n+\t.key_start_idx = 178,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 306,\n+\t.result_start_idx = 315,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -651,11 +670,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 178,\n+\t.key_start_idx = 189,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 315,\n+\t.result_start_idx = 324,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -670,11 +689,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 191,\n+\t.key_start_idx = 202,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 328,\n+\t.result_start_idx = 337,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -687,11 +706,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_1,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 194,\n+\t.key_start_idx = 205,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 329,\n+\t.result_start_idx = 338,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -701,14 +720,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 248,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 346,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 7,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 237,\n+\t.key_start_idx = 259,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 337,\n+\t.result_start_idx = 355,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -723,11 +761,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 248,\n+\t.key_start_idx = 270,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 346,\n+\t.result_start_idx = 364,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -740,11 +778,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 249,\n+\t.key_start_idx = 271,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 347,\n+\t.result_start_idx = 365,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -759,11 +797,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 262,\n+\t.key_start_idx = 284,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 360,\n+\t.result_start_idx = 378,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -776,11 +814,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 265,\n+\t.key_start_idx = 287,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 361,\n+\t.result_start_idx = 379,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -790,14 +828,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 330,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 387,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 9,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 308,\n+\t.key_start_idx = 341,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 369,\n+\t.result_start_idx = 396,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -812,11 +869,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 319,\n+\t.key_start_idx = 352,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 378,\n+\t.result_start_idx = 405,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -829,11 +886,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 320,\n+\t.key_start_idx = 353,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 379,\n+\t.result_start_idx = 406,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -848,11 +905,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 333,\n+\t.key_start_idx = 366,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 392,\n+\t.result_start_idx = 419,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -865,11 +922,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 336,\n+\t.key_start_idx = 369,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 393,\n+\t.result_start_idx = 420,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -879,14 +936,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 412,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 428,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 11,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 379,\n+\t.key_start_idx = 423,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 401,\n+\t.result_start_idx = 437,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -901,11 +977,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 390,\n+\t.key_start_idx = 434,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 410,\n+\t.result_start_idx = 446,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -918,11 +994,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 391,\n+\t.key_start_idx = 435,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 411,\n+\t.result_start_idx = 447,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -937,11 +1013,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 404,\n+\t.key_start_idx = 448,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 424,\n+\t.result_start_idx = 460,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -954,11 +1030,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 407,\n+\t.key_start_idx = 451,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 425,\n+\t.result_start_idx = 461,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -968,14 +1044,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 494,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 469,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 13,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 450,\n+\t.key_start_idx = 505,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 433,\n+\t.result_start_idx = 478,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -990,11 +1085,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 461,\n+\t.key_start_idx = 516,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 442,\n+\t.result_start_idx = 487,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1007,11 +1102,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 462,\n+\t.key_start_idx = 517,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 443,\n+\t.result_start_idx = 488,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1026,11 +1121,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 475,\n+\t.key_start_idx = 530,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 456,\n+\t.result_start_idx = 501,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1043,11 +1138,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 478,\n+\t.key_start_idx = 533,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 457,\n+\t.result_start_idx = 502,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1057,14 +1152,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 576,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 510,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 15,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 521,\n+\t.key_start_idx = 587,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 465,\n+\t.result_start_idx = 519,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1079,11 +1193,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 532,\n+\t.key_start_idx = 598,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 474,\n+\t.result_start_idx = 528,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1098,11 +1212,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 545,\n+\t.key_start_idx = 611,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 487,\n+\t.result_start_idx = 541,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1115,11 +1229,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 548,\n+\t.key_start_idx = 614,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 488,\n+\t.result_start_idx = 542,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1129,14 +1243,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 657,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 550,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 17,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 591,\n+\t.key_start_idx = 668,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 496,\n+\t.result_start_idx = 559,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1151,11 +1284,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 602,\n+\t.key_start_idx = 679,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 505,\n+\t.result_start_idx = 568,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1170,11 +1303,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 615,\n+\t.key_start_idx = 692,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 518,\n+\t.result_start_idx = 581,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1187,11 +1320,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 618,\n+\t.key_start_idx = 695,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 519,\n+\t.result_start_idx = 582,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1201,14 +1334,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 738,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 590,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 19,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 661,\n+\t.key_start_idx = 749,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 527,\n+\t.result_start_idx = 599,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1223,11 +1375,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 672,\n+\t.key_start_idx = 760,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 536,\n+\t.result_start_idx = 608,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1242,11 +1394,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 685,\n+\t.key_start_idx = 773,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 549,\n+\t.result_start_idx = 621,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1259,11 +1411,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 688,\n+\t.key_start_idx = 776,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 550,\n+\t.result_start_idx = 622,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1273,14 +1425,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 819,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 630,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 21,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 731,\n+\t.key_start_idx = 830,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 558,\n+\t.result_start_idx = 639,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1295,11 +1466,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 742,\n+\t.key_start_idx = 841,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 567,\n+\t.result_start_idx = 648,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1314,11 +1485,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 755,\n+\t.key_start_idx = 854,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 580,\n+\t.result_start_idx = 661,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1331,11 +1502,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 758,\n+\t.key_start_idx = 857,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 581,\n+\t.result_start_idx = 662,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1345,14 +1516,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 900,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 670,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 23,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 801,\n+\t.key_start_idx = 911,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 589,\n+\t.result_start_idx = 679,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1367,11 +1557,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 812,\n+\t.key_start_idx = 922,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 598,\n+\t.result_start_idx = 688,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1386,11 +1576,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 825,\n+\t.key_start_idx = 935,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 611,\n+\t.result_start_idx = 701,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1403,11 +1593,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 828,\n+\t.key_start_idx = 938,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 612,\n+\t.result_start_idx = 702,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1417,14 +1607,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 981,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 710,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 25,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 871,\n+\t.key_start_idx = 992,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 620,\n+\t.result_start_idx = 719,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1439,11 +1648,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,\n-\t.key_start_idx = 882,\n+\t.key_start_idx = 1003,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 629,\n+\t.result_start_idx = 728,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1458,11 +1667,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 895,\n+\t.key_start_idx = 1016,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 642,\n+\t.result_start_idx = 741,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1475,11 +1684,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_RX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 898,\n+\t.key_start_idx = 1019,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 643,\n+\t.result_start_idx = 742,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1489,14 +1698,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_RX,\n+\t.key_start_idx = 1062,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 750,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 27,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_RX,\n-\t.key_start_idx = 941,\n+\t.key_start_idx = 1073,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 651,\n+\t.result_start_idx = 759,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1511,11 +1739,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 952,\n+\t.key_start_idx = 1084,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 660,\n+\t.result_start_idx = 768,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1528,11 +1756,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 953,\n+\t.key_start_idx = 1085,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 661,\n+\t.result_start_idx = 769,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1547,11 +1775,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 966,\n+\t.key_start_idx = 1098,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 674,\n+\t.result_start_idx = 782,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1564,11 +1792,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 969,\n+\t.key_start_idx = 1101,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 675,\n+\t.result_start_idx = 783,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1578,14 +1806,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1144,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 791,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 29,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1012,\n+\t.key_start_idx = 1155,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 683,\n+\t.result_start_idx = 800,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1600,11 +1847,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1023,\n+\t.key_start_idx = 1166,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 692,\n+\t.result_start_idx = 809,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1617,11 +1864,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1024,\n+\t.key_start_idx = 1167,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 693,\n+\t.result_start_idx = 810,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1636,11 +1883,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1037,\n+\t.key_start_idx = 1180,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 706,\n+\t.result_start_idx = 823,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1653,11 +1900,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1040,\n+\t.key_start_idx = 1183,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 707,\n+\t.result_start_idx = 824,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1667,14 +1914,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1226,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 832,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 31,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1083,\n+\t.key_start_idx = 1237,\n \t.blob_key_bit_size = 200,\n \t.key_bit_size = 200,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 715,\n+\t.result_start_idx = 841,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1689,11 +1955,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1094,\n+\t.key_start_idx = 1248,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 724,\n+\t.result_start_idx = 850,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1706,11 +1972,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1095,\n+\t.key_start_idx = 1249,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 725,\n+\t.result_start_idx = 851,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1725,11 +1991,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1108,\n+\t.key_start_idx = 1262,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 738,\n+\t.result_start_idx = 864,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1742,11 +2008,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1111,\n+\t.key_start_idx = 1265,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 739,\n+\t.result_start_idx = 865,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1756,14 +2022,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1308,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 873,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 33,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1154,\n+\t.key_start_idx = 1319,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 747,\n+\t.result_start_idx = 882,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1778,11 +2063,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1165,\n+\t.key_start_idx = 1330,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n-\t.result_start_idx = 756,\n+\t.result_start_idx = 891,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1795,11 +2080,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1166,\n+\t.key_start_idx = 1331,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 757,\n+\t.result_start_idx = 892,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1814,11 +2099,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1179,\n+\t.key_start_idx = 1344,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 770,\n+\t.result_start_idx = 905,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1831,11 +2116,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1182,\n+\t.key_start_idx = 1347,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 771,\n+\t.result_start_idx = 906,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1845,14 +2130,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1390,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 11,\n+\t.result_start_idx = 914,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 35,\n+\t.ident_nums = 0,\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},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1225,\n+\t.key_start_idx = 1401,\n \t.blob_key_bit_size = 392,\n \t.key_bit_size = 392,\n \t.key_num_fields = 11,\n-\t.result_start_idx = 779,\n+\t.result_start_idx = 923,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1867,11 +2171,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,\n-\t.key_start_idx = 1236,\n+\t.key_start_idx = 1412,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 788,\n+\t.result_start_idx = 932,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1886,11 +2190,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1249,\n+\t.key_start_idx = 1425,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 801,\n+\t.result_start_idx = 945,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1903,11 +2207,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1252,\n+\t.key_start_idx = 1428,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 802,\n+\t.result_start_idx = 946,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1917,14 +2221,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n-\t.resource_type = TF_MEM_INTERNAL,\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1295,\n-\t.blob_key_bit_size = 104,\n-\t.key_bit_size = 104,\n+\t.key_start_idx = 1471,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n \t.key_num_fields = 7,\n-\t.result_start_idx = 810,\n+\t.result_start_idx = 954,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -1934,16 +2239,34 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES\n \t},\n \t{\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n-\t.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n+\t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n-\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,\n-\t.key_start_idx = 1302,\n+\t.key_start_idx = 1478,\n+\t.blob_key_bit_size = 104,\n+\t.key_bit_size = 104,\n+\t.key_num_fields = 7,\n+\t.result_start_idx = 963,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 37,\n+\t.ident_nums = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES\n+\t},\n+\t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,\n+\t.direction = TF_DIR_TX,\n+\t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n+\t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_UPDATE,\n+\t.key_start_idx = 1485,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n-\t.result_start_idx = 819,\n+\t.result_start_idx = 972,\n \t.result_bit_size = 64,\n \t.result_num_fields = 13,\n \t.encap_num_fields = 0,\n@@ -1958,11 +2281,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.resource_sub_type =\n \t\tBNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1315,\n+\t.key_start_idx = 1498,\n \t.blob_key_bit_size = 16,\n \t.key_bit_size = 16,\n \t.key_num_fields = 3,\n-\t.result_start_idx = 832,\n+\t.result_start_idx = 985,\n \t.result_bit_size = 10,\n \t.result_num_fields = 1,\n \t.encap_num_fields = 0,\n@@ -1975,11 +2298,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.direction = TF_DIR_TX,\n \t.priority = BNXT_ULP_PRIORITY_LEVEL_0,\n \t.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,\n-\t.key_start_idx = 1318,\n+\t.key_start_idx = 1501,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n-\t.result_start_idx = 833,\n+\t.result_start_idx = 986,\n \t.result_bit_size = 38,\n \t.result_num_fields = 8,\n \t.encap_num_fields = 0,\n@@ -1989,14 +2312,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO\n \t},\n \t{\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n+\t.resource_type = TF_MEM_EXTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,\n+\t.direction = TF_DIR_TX,\n+\t.key_start_idx = 1544,\n+\t.blob_key_bit_size = 448,\n+\t.key_bit_size = 448,\n+\t.key_num_fields = 7,\n+\t.result_start_idx = 994,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 9,\n+\t.encap_num_fields = 0,\n+\t.ident_start_idx = 39,\n+\t.ident_nums = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES\n+\t},\n+\t{\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,\n \t.resource_type = TF_MEM_INTERNAL,\n+\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,\n \t.direction = TF_DIR_TX,\n-\t.key_start_idx = 1361,\n+\t.key_start_idx = 1551,\n \t.blob_key_bit_size = 104,\n \t.key_bit_size = 104,\n \t.key_num_fields = 7,\n-\t.result_start_idx = 841,\n+\t.result_start_idx = 1003,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9,\n \t.encap_num_fields = 0,\n@@ -3084,6 +3426,76 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF6_IDX_O_ETH_SMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF6_IDX_O_ETH_SMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -3551,6 +3963,76 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF7_IDX_O_ETH_SMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF7_IDX_O_ETH_SMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -4009,6 +4491,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF8_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF8_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF8_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF8_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF8_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF8_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF8_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF8_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -4482,6 +5053,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF9_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF9_IDX_O_TCP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF9_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF9_IDX_O_TCP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF9_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF9_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF9_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF9_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -4963,6 +5623,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 59,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF10_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF10_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF10_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF10_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF10_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF10_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF10_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF10_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -5440,7 +6189,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 59,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -5529,74 +6278,163 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_OO_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_OO_VLAN_VID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.spec_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_OO_VLAN_VID >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_OO_VLAN_VID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_O_ETH_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_O_ETH_DMAC & 0xff,\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF11_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF11_IDX_O_TCP_DST_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_O_ETH_DMAC >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_O_ETH_DMAC & 0xff,\n+\t\t(BNXT_ULP_HF11_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF11_IDX_O_TCP_SRC_PORT & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 8,\n-\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.mask_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_SVIF_INDEX & 0xff,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n-\t\t(BNXT_ULP_HF12_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF12_IDX_SVIF_INDEX & 0xff,\n+\t\t(BNXT_ULP_HF11_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF11_IDX_O_IPV6_DST_ADDR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 4,\n+\t.field_bit_size = 128,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF11_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF11_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 48,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 12,\n+\t.field_bit_size = 24,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 48,\n+\t.field_bit_size = 10,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_OO_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_OO_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_OO_VLAN_VID >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_OO_VLAN_VID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.mask_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_SVIF_INDEX & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n \t.field_bit_size = 2,\n@@ -5936,6 +6774,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF12_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF12_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -6428,6 +7355,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF13_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF13_IDX_O_TCP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF13_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF13_IDX_O_TCP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF13_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF13_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF13_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF13_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -6928,6 +7944,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 59,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF14_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF14_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -7424,6 +8529,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 59,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF15_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF15_IDX_O_TCP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF15_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF15_IDX_O_TCP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF15_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF15_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF15_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF15_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -7917,6 +9111,80 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF16_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF16_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -8399,7 +9667,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 59,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -8473,12 +9741,86 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 8,\n+\t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n-\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n-\t.spec_operand = {\n-\t\t(BNXT_ULP_HF18_IDX_SVIF_INDEX >> 8) & 0xff,\n-\t\tBNXT_ULP_HF18_IDX_SVIF_INDEX & 0xff,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF17_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF17_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_SVIF_INDEX & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n@@ -8857,6 +10199,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF18_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF18_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -9326,6 +10757,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 251,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_O_TCP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_O_TCP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_O_IPV4_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 32,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF19_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF19_IDX_O_IPV4_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -9803,7 +11323,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 3,\n+\t.field_bit_size = 59,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -9892,7 +11412,96 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 8,\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF20_IDX_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF20_IDX_O_UDP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF20_IDX_O_UDP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF20_IDX_O_UDP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_UDP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF20_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF20_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF20_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF20_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n \t.spec_operand = {\n@@ -10276,6 +11885,95 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 59,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_O_TCP_DST_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_O_TCP_SRC_PORT & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.spec_operand = {\n+\t\tBNXT_ULP_SYM_IP_PROTO_TCP,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_O_IPV6_DST_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_O_IPV6_DST_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 128,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF21_IDX_O_IPV6_SRC_ADDR >> 8) & 0xff,\n+\t\tBNXT_ULP_HF21_IDX_O_IPV6_SRC_ADDR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 24,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 3,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -10766,6 +12464,56 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 351,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF22_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF22_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 7,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n@@ -11221,7 +12969,7 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 7,\n+\t.field_bit_size = 351,\n \t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n \t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n@@ -11269,32 +13017,82 @@ struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] =\n \t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t}\n-};\n-\n-struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] = {\n-\t{\n-\t.field_bit_size = 14,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 7,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 3,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 16,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 1,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 12,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 8,\n+\t.field_bit_size = 48,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_HF23_IDX_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_HF23_IDX_O_ETH_DMAC & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,\n+\t.spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.spec_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t}\n+};\n+\n+struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] = {\n+\t{\n+\t.field_bit_size = 14,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n@@ -12791,6 +14589,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -12969,6 +14821,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -13156,6 +15062,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -13343,42 +15303,96 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n-\t.field_bit_size = 10,\n+\t.field_bit_size = 33,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 7,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n-\t.result_operand = {\n-\t\t(BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,\n-\t\tBNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 4,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\t(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,\n-\t\tBNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff,\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 7,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 4,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n@@ -13530,6 +15544,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -13717,6 +15785,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -13895,6 +16017,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14073,6 +16249,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14251,6 +16481,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14341,33 +16625,81 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00f9 >> 8) & 0xff,\n+\t\t0x00f9 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n-\t\t(0x00f9 >> 8) & 0xff,\n-\t\t0x00f9 & 0xff,\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n \t.field_bit_size = 5,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x19, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 8,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 1,\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n@@ -14375,6 +16707,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 33,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14607,6 +16945,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14785,6 +17177,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -14987,6 +17433,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15093,41 +17593,89 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 8,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 10,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x00f9 >> 8) & 0xff,\n+\t\t0x00f9 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 8,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n \t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n-\t.field_bit_size = 10,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {\n-\t\t(0x00f9 >> 8) & 0xff,\n-\t\t0x00f9 & 0xff,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n-\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n-\t},\n-\t{\n \t.field_bit_size = 5,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 8,\n-\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {\n-\t\t(BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,\n-\t\tBNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,\n+\t\t(0x00c5 >> 8) & 0xff,\n+\t\t0x00c5 & 0xff,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n-\t.field_bit_size = 1,\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n-\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n@@ -15135,6 +17683,12 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n \t},\n \t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 33,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15391,6 +17945,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15593,6 +18201,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0185 >> 8) & 0xff,\n+\t\t0x0185 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15786,6 +18448,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t},\n \t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0061 >> 8) & 0xff,\n+\t\t0x0061 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n \t.field_bit_size = 10,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n \t.result_operand = {\n@@ -15975,6 +18691,60 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] =\n \t{\n \t.field_bit_size = 1,\n \t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 33,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,\n+\t.result_operand = {\n+\t\t(BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\t\tBNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 5,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 9,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {\n+\t\t(0x0061 >> 8) & 0xff,\n+\t\t0x0061 & 0xff,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 11,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 2,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n+\t.result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,\n+\t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO\n+\t},\n+\t{\n+\t.field_bit_size = 1,\n+\t.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,\n \t.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\n \t\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\n \t}\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h\nindex 026c42d1c..50a986c89 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h\n@@ -152,13 +152,13 @@ struct ulp_template_device_tbls {\n /* Device specific parameters */\n struct bnxt_ulp_device_params {\n \tuint8_t\t\t\t\tdescription[16];\n-\tenum bnxt_ulp_flow_mem_type\tflow_mem_type;\n \tenum bnxt_ulp_byte_order\tbyte_order;\n \tuint8_t\t\t\t\tencap_byte_swap;\n \tuint8_t\t\t\t\tnum_phy_ports;\n \tuint32_t\t\t\tmark_db_lfid_entries;\n \tuint64_t\t\t\tmark_db_gfid_entries;\n-\tuint64_t\t\t\tflow_db_num_entries;\n+\tuint64_t\t\t\tint_flow_db_num_entries;\n+\tuint64_t\t\t\text_flow_db_num_entries;\n \tuint32_t\t\t\tflow_count_db_entries;\n \tuint32_t\t\t\tnum_resources_per_flow;\n \tuint32_t\t\t\text_cntr_table_type;\n@@ -183,6 +183,7 @@ struct bnxt_ulp_mapper_tbl_info {\n \tenum bnxt_ulp_resource_sub_type\tresource_sub_type;\n \tenum bnxt_ulp_cond_opcode\tcond_opcode;\n \tuint32_t\t\t\tcond_operand;\n+\tenum bnxt_ulp_mem_type_opcode\tmem_type_opcode;\n \tuint8_t\t\t\t\tdirection;\n \tuint32_t\t\t\tpriority;\n \tenum bnxt_ulp_search_before_alloc\tsrch_b4_alloc;\n",
    "prefixes": [
        "v2",
        "08/12"
    ]
}