get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 94177,
    "url": "https://patches.dpdk.org/api/patches/94177/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210613000652.28191-57-ajit.khaparde@broadcom.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20210613000652.28191-57-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210613000652.28191-57-ajit.khaparde@broadcom.com",
    "date": "2021-06-13T00:06:50",
    "name": "[v2,56/58] net/bnxt: cleanup ULP parser and mapper",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "90b759325258dc44d616912814ab9245a5bcfbfc",
    "submitter": {
        "id": 501,
        "url": "https://patches.dpdk.org/api/people/501/?format=api",
        "name": "Ajit Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "delegate": {
        "id": 1766,
        "url": "https://patches.dpdk.org/api/users/1766/?format=api",
        "username": "ajitkhaparde",
        "first_name": "Ajit",
        "last_name": "Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210613000652.28191-57-ajit.khaparde@broadcom.com/mbox/",
    "series": [
        {
            "id": 17305,
            "url": "https://patches.dpdk.org/api/series/17305/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=17305",
            "date": "2021-06-13T00:05:54",
            "name": "enhancements to host based flow table management",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/17305/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/94177/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/94177/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 mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id EDA67A0C44;\n\tMon, 14 Jun 2021 16:41:37 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id C4ED941121;\n\tMon, 14 Jun 2021 16:37:30 +0200 (CEST)",
            "from mail-pg1-f178.google.com (mail-pg1-f178.google.com\n [209.85.215.178])\n by mails.dpdk.org (Postfix) with ESMTP id 9BF2141100\n for <dev@dpdk.org>; Sun, 13 Jun 2021 02:09:27 +0200 (CEST)",
            "by mail-pg1-f178.google.com with SMTP id g22so540275pgk.1\n for <dev@dpdk.org>; Sat, 12 Jun 2021 17:09:27 -0700 (PDT)",
            "from localhost.localdomain ([192.19.223.252])\n by smtp.gmail.com with ESMTPSA id gg22sm12774609pjb.17.2021.06.12.17.09.21\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Sat, 12 Jun 2021 17:09:23 -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; bh=mHW09NskbMxPsNhCvtF/8W/T6JDlQ5gFYlEQA+YV5aw=;\n b=FMY5I+CxU6bADE2vQox9eNGUm8wYcoX+DeBaM+/CFtRw+z5rreuoilcZc2BX9Elmbw\n BY5o9oQyO8L6/3j91E6c5mpMT4n9sy+y/xFmSk6pxYGjfc3T74epKPqiTDzwrbH+2tPC\n +Wfmve4xZXPl1UzRWh3fANcbNV2unwHv+cmok=",
        "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;\n bh=mHW09NskbMxPsNhCvtF/8W/T6JDlQ5gFYlEQA+YV5aw=;\n b=DLa9TVOI0KXUvX1ZO2nH673U2sqM5o61z7v5Lu+ssPg2cls0VxGJGSRDaM36Q4+d8T\n 5Uz1MvM1Da2s4MoMm4IVE2c+grl4NqAwyBfr6pUlP1ktdCgS7x0eueE0rOUSyR3eftwO\n VKWulIKMp5so97pZZsDimtl9Li8nr69vAUohw3kXTT0zEiOL7AoMzJKGAi2z309YcwjP\n iHHnHdcDrXj53kdXnaCbuIUZF7YxWktf47dGASnD4wdgo4jcnzU9/JY/J/eROSQjMXhh\n KSnOaNLAi2ZASuKWhQI1P8v1okNFprDo/+Y1PXqMA8saKXEjdUl1vCpKfJ2B5sNfeoQT\n 9EFg==",
        "X-Gm-Message-State": "AOAM530ZcLZ4Pob1LNc5l3lYNd2K0fU3ET+sY4mGMfxKlKADCYiIjkAG\n HvNm0hywP/+crMWG2iAxJJXEOQp1XkfuKxlaJ5KYbljQkMM225uwf6uBAYRX6rsZGE89CEfdrmN\n dduZx1XQc7MqLXpoWaPHaV3znHgG5L1TalMq3UbNxa6BSwDtevOdAVtAIB0aKkbs=",
        "X-Google-Smtp-Source": "\n ABdhPJyWKdQLc7cM+nAJ2ZejjOZl29GjlfQaT9/Rp8+gyXuWzo4WAfe3Hol+9y22SCRPqm1oHqnaBA==",
        "X-Received": "by 2002:a63:3543:: with SMTP id\n c64mr10397616pga.403.1623542964887;\n Sat, 12 Jun 2021 17:09:24 -0700 (PDT)",
        "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>",
        "To": "dev@dpdk.org",
        "Cc": "Shahaji Bhosle <sbhosle@broadcom.com>,\n Mike Baucom <michael.baucom@broadcom.com>,\n Kishore Padmanabha <kishore.padmanabha@broadcom.com>,\n Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>,\n Randy Schacher <stuart.schacher@broadcom.com>",
        "Date": "Sat, 12 Jun 2021 17:06:50 -0700",
        "Message-Id": "<20210613000652.28191-57-ajit.khaparde@broadcom.com>",
        "X-Mailer": "git-send-email 2.21.1 (Apple Git-122.3)",
        "In-Reply-To": "<20210613000652.28191-1-ajit.khaparde@broadcom.com>",
        "References": "<20210530085929.29695-1-venkatkumar.duvvuru@broadcom.com>\n <20210613000652.28191-1-ajit.khaparde@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Type": "multipart/signed; protocol=\"application/pkcs7-signature\";\n micalg=sha-256; boundary=\"000000000000c5e0fd05c49a8d0b\"",
        "X-Mailman-Approved-At": "Mon, 14 Jun 2021 16:37:12 +0200",
        "X-Content-Filtered-By": "Mailman/MimeDel 2.1.29",
        "Subject": "[dpdk-dev] [PATCH v2 56/58] net/bnxt: cleanup ULP parser and mapper",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "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: Shahaji Bhosle <sbhosle@broadcom.com>\n\n1. Disable accum_stats for Thor\n2. Delete the generic port table for default flow\n3. The packet mask to calculate the number of packets must be 28 bits.\n4. Increase the WC TCAM entries to 512 per application and add 2\n   shared L2 context TCAM entries to match identifiers for flow\n   scaling\n5. Ignore multiple critical resources in ULP flow database\n6. Renamed conditional code update to function opcode.\n7. Updated TRUFLOW debug logs to support the above changes.\n8. As part of the HA cleanup, the shared session name now allows the user\n   to designate that the session uses the wc_tcam regions within the\n   shared session.\n9. The CFA action pointer does not exist if there is no support for\n   VF representor, so no need to display the message for use case where\n   there is no support for VF representors.\n10. Cleanup flow counter software accumulation.\n11. When an application exits ungracefully, the HA code now\n    clears the appropriate shared WC region and sets the HA state.\n12. Removal of unnecessary INFO message.  The message is an indicator that\n    the ports are being removed from DPDK, but all cleanup has not\n    completed.  Once the cleanup is completed, the timer will be stopped.\n\nSigned-off-by: Shahaji Bhosle <sbhosle@broadcom.com>\nSigned-off-by: Mike Baucom <michael.baucom@broadcom.com>\nSigned-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>\nSigned-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>\nReviewed-by: Randy Schacher <stuart.schacher@broadcom.com>\nReviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h        |     4 +-\n drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h   |     6 +-\n drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c     |     2 +-\n drivers/net/bnxt/tf_core/bitalloc.h           |     2 +-\n drivers/net/bnxt/tf_core/cfa_resource_types.h |     2 +-\n drivers/net/bnxt/tf_core/dpool.h              |     8 +-\n drivers/net/bnxt/tf_core/tf_core.h            |     8 +-\n drivers/net/bnxt/tf_core/tf_em.h              |     2 +-\n drivers/net/bnxt/tf_core/tf_session.h         |     2 +-\n drivers/net/bnxt/tf_core/tf_shadow_tcam.c     |     2 +-\n drivers/net/bnxt/tf_core/tfp.h                |     6 +-\n drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c    |   378 +\n drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h    |    29 +\n drivers/net/bnxt/tf_ulp/bnxt_ulp.c            |   102 +-\n drivers/net/bnxt/tf_ulp/bnxt_ulp.h            |     4 +\n drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c       |     1 +\n drivers/net/bnxt/tf_ulp/meson.build           |     1 +\n drivers/net/bnxt/tf_ulp/ulp_def_rules.c       |     3 +-\n drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c          |   103 +-\n drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h          |     1 +\n drivers/net/bnxt/tf_ulp/ulp_flow_db.c         |    14 +-\n drivers/net/bnxt/tf_ulp/ulp_flow_db.h         |     2 +-\n drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c         |    14 +-\n drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c          |   197 +-\n drivers/net/bnxt/tf_ulp/ulp_mapper.c          |   153 +-\n drivers/net/bnxt/tf_ulp/ulp_mapper.h          |     6 +-\n drivers/net/bnxt/tf_ulp/ulp_port_db.c         |    43 +-\n drivers/net/bnxt/tf_ulp/ulp_rte_parser.c      |    38 +-\n drivers/net/bnxt/tf_ulp/ulp_rte_parser.h      |     2 +-\n .../net/bnxt/tf_ulp/ulp_template_db_enum.h    |    92 +-\n drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c |   158 +-\n .../bnxt/tf_ulp/ulp_template_db_thor_act.c    |   185 +-\n .../bnxt/tf_ulp/ulp_template_db_thor_class.c  | 29120 +++++++++++++++-\n .../tf_ulp/ulp_template_db_wh_plus_class.c    |    76 +-\n drivers/net/bnxt/tf_ulp/ulp_template_struct.h |    18 +-\n drivers/net/bnxt/tf_ulp/ulp_utils.c           |     8 +-\n drivers/net/bnxt/tf_ulp/ulp_utils.h           |     4 +-\n 37 files changed, 29997 insertions(+), 799 deletions(-)\n create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c\n create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h",
    "diff": "diff --git a/drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h b/drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h\nindex c67aa29ad0..2f23c4a7fc 100644\n--- a/drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h\n+++ b/drivers/net/bnxt/hcapi/cfa/hcapi_cfa.h\n@@ -44,7 +44,7 @@ struct hcapi_cfa_devinfo {\n /** CFA device specific function hooks structure\n  *\n  * The following device hooks can be defined; unless noted otherwise, they are\n- * optional and can be filled with a null pointer. The pupose of these hooks\n+ * optional and can be filled with a null pointer. The purpose of these hooks\n  * to support CFA device operations for different device variants.\n  */\n struct hcapi_cfa_devops {\n@@ -93,7 +93,7 @@ struct hcapi_cfa_devops {\n \t *   is stored.  It holds the bucket index and the data pointer of\n \t *   a dynamic bucket that is chained to static bucket\n \t *   When using the HWOP GET, this is a pointer to the key location\n-\t *   which should be retreved.\n+\t *   which should be retrieved.\n \t *\n \t *   (valid for SR2 only).\n \t * @return\ndiff --git a/drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h b/drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h\nindex 581dc6bc64..16a31598d6 100644\n--- a/drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h\n+++ b/drivers/net/bnxt/hcapi/cfa/hcapi_cfa_defs.h\n@@ -231,7 +231,7 @@ struct hcapi_cfa_key_tbl {\n \tuint32_t size;\n \t/** [in] number of key buckets, applicable for newer chips */\n \tuint32_t num_buckets;\n-\t/** [in] For EEM, this is KEY1 base mem pointer. Fo off-chip EM,\n+\t/** [in] For EEM, this is KEY1 base mem pointer. For off-chip EM,\n \t *  this is the key record memory base pointer within the key table,\n \t *  applicable for newer chip\n \t */\n@@ -273,8 +273,8 @@ struct hcapi_cfa_key_data {\n \tuint8_t tbl_scope;\n \t/** [in] the fid owner of the key */\n \tuint64_t metadata;\n-\t/** [in] stored with the bucket which can be used to by\n-\t *       the caller to retreved later via the GET HW OP.\n+\t/** [in] stored with the bucket which can be used by\n+\t *       the caller to retrieve later via the GET HW OP.\n \t */\n };\n \ndiff --git a/drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c b/drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c\nindex 813b33943c..0dca099bdb 100644\n--- a/drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c\n+++ b/drivers/net/bnxt/hcapi/cfa/hcapi_cfa_p4.c\n@@ -227,7 +227,7 @@ static int hcapi_cfa_p4_key_hw_op_del(struct hcapi_cfa_hwop *op,\n \treturn rc;\n }\n \n-/** Apporiximation of hcapi_cfa_key_hw_op()\n+/** Approximation of hcapi_cfa_key_hw_op()\n  *\n  *\n  */\ndiff --git a/drivers/net/bnxt/tf_core/bitalloc.h b/drivers/net/bnxt/tf_core/bitalloc.h\nindex e3b389e68d..db8a09abdd 100644\n--- a/drivers/net/bnxt/tf_core/bitalloc.h\n+++ b/drivers/net/bnxt/tf_core/bitalloc.h\n@@ -60,7 +60,7 @@ struct bitalloc {\n #define BA_NO_ENTRY_FOUND   -1\n \n /**\n- * Initializates the bitallocator\n+ * Initializes the bitallocator\n  *\n  * Returns 0 on success, -1 on failure.  Size is arbitrary up to\n  * BITALLOC_MAX_SIZE\ndiff --git a/drivers/net/bnxt/tf_core/cfa_resource_types.h b/drivers/net/bnxt/tf_core/cfa_resource_types.h\nindex b63b87bcf3..0d7df2920b 100644\n--- a/drivers/net/bnxt/tf_core/cfa_resource_types.h\n+++ b/drivers/net/bnxt/tf_core/cfa_resource_types.h\n@@ -57,7 +57,7 @@\n #define CFA_RESOURCE_TYPE_P59_RANGE_PROF         0x15UL\n /* Range */\n #define CFA_RESOURCE_TYPE_P59_RANGE              0x16UL\n-/* Link Aggrigation */\n+/* Link Aggregation */\n #define CFA_RESOURCE_TYPE_P59_LAG                0x17UL\n /* VEB TCAM */\n #define CFA_RESOURCE_TYPE_P59_VEB_TCAM           0x18UL\ndiff --git a/drivers/net/bnxt/tf_core/dpool.h b/drivers/net/bnxt/tf_core/dpool.h\nindex 8b0a4182dc..fb79c7be4b 100644\n--- a/drivers/net/bnxt/tf_core/dpool.h\n+++ b/drivers/net/bnxt/tf_core/dpool.h\n@@ -98,7 +98,7 @@ struct dpool_adj_list_entry {\n  *\n  * A list of references to entries in the dpool entry array that\n  * have free entries to the left and right. Since we pack to the\n- * left entries will always have a non zero left cout.\n+ * left entries will always have a non zero left out.\n  *\n  * Used only during the defrag operation.\n  */\n@@ -281,17 +281,17 @@ void dpool_dump(struct dpool *dpool);\n /**\n  * dpool_defrag\n  *\n- * De-fragment the dpool array and apply the specified defrag stratagy.\n+ * De-fragment the dpool array and apply the specified defrag strategy.\n  *\n  * [in] dpool\n  *      The dpool\n  *\n  * [in] entry_size\n- *      If using the DP_DEFRAG_TO_FIT stratagy defrag will stop when there's\n+ *      If using the DP_DEFRAG_TO_FIT strategy defrag will stop when there's\n  *      at least entry_size space available.\n  *\n  * [i] defrag\n- *     Defrag stratagy:\n+ *     Defrag strategy:\n  *\n  *     DP_DEFRAG_ALL    (0x1) - Defrag until there is nothing left\n  *                              to defrag.\ndiff --git a/drivers/net/bnxt/tf_core/tf_core.h b/drivers/net/bnxt/tf_core/tf_core.h\nindex be5725a66a..84b234f0e3 100644\n--- a/drivers/net/bnxt/tf_core/tf_core.h\n+++ b/drivers/net/bnxt/tf_core/tf_core.h\n@@ -396,7 +396,7 @@ enum tf_search_status {\n enum tf_em_tbl_type {\n \t/** The number of internal EM records for the session */\n \tTF_EM_TBL_TYPE_EM_RECORD,\n-\t/** The number of table scopes reequested */\n+\t/** The number of table scopes requested */\n \tTF_EM_TBL_TYPE_TBL_SCOPE,\n \tTF_EM_TBL_TYPE_MAX\n };\n@@ -415,7 +415,7 @@ enum tf_em_tbl_type {\n  */\n struct tf_session_info {\n \t/**\n-\t * TrueFlow Version. Used to control the structure layout when\n+\t * TruFlow Version. Used to control the structure layout when\n \t * sharing sessions. No guarantee that a secondary process\n \t * would come from the same version of an executable.\n \t * TruFlow initializes this variable on tf_open_session().\n@@ -520,7 +520,7 @@ struct tf_identifier_resources {\n struct tf_tbl_resources {\n \t/**\n \t * Array of TF Table types where each entry is expected to be\n-\t * set to the requeste resource number of that specific\n+\t * set to the requested resource number of that specific\n \t * type. The index used is tf_tbl_type.\n \t */\n \tuint16_t cnt[TF_TBL_TYPE_MAX];\n@@ -1677,7 +1677,7 @@ struct tf_search_tbl_entry_parms {\n  *\n  * Implementation:\n  *\n- * A hash is performed on the result data and mappe3d to a shadow copy entry\n+ * A hash is performed on the result data and mapped to a shadow copy entry\n  * where the result is populated.  If the result matches the entry, hit is set,\n  * ref_cnt is incremented (if alloc), and the search status indicates what\n  * action the caller can take regarding setting the entry.\ndiff --git a/drivers/net/bnxt/tf_core/tf_em.h b/drivers/net/bnxt/tf_core/tf_em.h\nindex 9d168c3c7f..568071ad8c 100644\n--- a/drivers/net/bnxt/tf_core/tf_em.h\n+++ b/drivers/net/bnxt/tf_core/tf_em.h\n@@ -95,7 +95,7 @@\n  *  |   Index      |E |\n  *  +--------------+--+\n  *\n- * E = Entry (bucket inndex)\n+ * E = Entry (bucket index)\n  */\n #define TF_EM_INTERNAL_INDEX_SHIFT 2\n #define TF_EM_INTERNAL_INDEX_MASK 0xFFFC\ndiff --git a/drivers/net/bnxt/tf_core/tf_session.h b/drivers/net/bnxt/tf_core/tf_session.h\nindex c2875f9fa1..d68421cd13 100644\n--- a/drivers/net/bnxt/tf_core/tf_session.h\n+++ b/drivers/net/bnxt/tf_core/tf_session.h\n@@ -59,7 +59,7 @@\n  * tf_session_info.\n  */\n struct tf_session {\n-\t/** TrueFlow Version. Used to control the structure layout\n+\t/** TruFlow Version. Used to control the structure layout\n \t * when sharing sessions. No guarantee that a secondary\n \t * process would come from the same version of an executable.\n \t */\ndiff --git a/drivers/net/bnxt/tf_core/tf_shadow_tcam.c b/drivers/net/bnxt/tf_core/tf_shadow_tcam.c\nindex 523261f189..5fcd1f9107 100644\n--- a/drivers/net/bnxt/tf_core/tf_shadow_tcam.c\n+++ b/drivers/net/bnxt/tf_core/tf_shadow_tcam.c\n@@ -25,7 +25,7 @@\n  *   - the result table is stored separately since it only needs to be accessed\n  *   when the key matches.\n  *   - the result has a back pointer to the hash table via the hb handle.  The\n- *   hb handle is a 32 bit represention of the hash with a valid bit, bucket\n+ *   hb handle is a 32 bit representation of the hash with a valid bit, bucket\n  *   element index, and the hash index.  It is necessary to store the hb handle\n  *   with the result since subsequent removes only provide the tcam index.\n  *\ndiff --git a/drivers/net/bnxt/tf_core/tfp.h b/drivers/net/bnxt/tf_core/tfp.h\nindex 58f34bbcab..dd0a347058 100644\n--- a/drivers/net/bnxt/tf_core/tfp.h\n+++ b/drivers/net/bnxt/tf_core/tfp.h\n@@ -38,7 +38,7 @@ struct tfp_spinlock_parms {\n /**\n  * @file\n  *\n- * TrueFlow Portability API Header File\n+ * TruFlow Portability API Header File\n  */\n \n /**\n@@ -119,8 +119,8 @@ struct tfp_calloc_parms {\n  */\n \n /**\n- * Provides communication capability from the TrueFlow API layer to\n- * the TrueFlow firmware. The portability layer internally provides\n+ * Provides communication capability from the TruFlow API layer to\n+ * the TruFlow firmware. The portability layer internally provides\n  * the transport to the firmware.\n  *\n  * [in] session, pointer to session handle\ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c b/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c\nnew file mode 100644\nindex 0000000000..b09cccedf5\n--- /dev/null\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c\n@@ -0,0 +1,378 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2021-2021 Broadcom\n+ * All rights reserved.\n+ */\n+\n+#include <glob.h>\n+#include <libgen.h>\n+#include <stdio.h>\n+#include <net/if.h>\n+#include <sys/ioctl.h>\n+#include <sys/socket.h>\n+#include <unistd.h>\n+\n+#include \"bnxt.h\"\n+#include \"bnxt_vnic.h\"\n+#include \"bnxt_hwrm.h\"\n+#include \"bnxt_tf_common.h\"\n+#include \"bnxt_tf_pmd_shim.h\"\n+\n+struct bnxt *\n+bnxt_pmd_get_bp(uint16_t port)\n+{\n+\tstruct bnxt *bp;\n+\tstruct rte_eth_dev *dev;\n+\n+\tif (!rte_eth_dev_is_valid_port(port)) {\n+\t\tPMD_DRV_LOG(ERR, \"Invalid port %d\\n\", port);\n+\t\treturn NULL;\n+\t}\n+\n+\tdev = &rte_eth_devices[port];\n+\tif (!is_bnxt_supported(dev)) {\n+\t\tPMD_DRV_LOG(ERR, \"Device %d not supported\\n\", port);\n+\t\treturn NULL;\n+\t}\n+\n+\tbp = (struct bnxt *)dev->data->dev_private;\n+\tif (!BNXT_TRUFLOW_EN(bp)) {\n+\t\tPMD_DRV_LOG(ERR, \"TRUFLOW not enabled\\n\");\n+\t\treturn NULL;\n+\t}\n+\n+\treturn bp;\n+}\n+\n+int32_t bnxt_rss_config_action_apply(struct bnxt_ulp_mapper_parms *parms)\n+{\n+\tstruct bnxt_vnic_info *vnic = NULL;\n+\tstruct bnxt *bp = NULL;\n+\tuint64_t rss_types;\n+\tuint16_t hwrm_type;\n+\tuint32_t rss_level, key_len;\n+\tuint8_t *rss_key;\n+\tstruct ulp_rte_act_prop *ap = parms->act_prop;\n+\tint32_t rc = -EINVAL;\n+\n+\tbp = bnxt_pmd_get_bp(parms->port_id);\n+\tif (bp == NULL) {\n+\t\tBNXT_TF_DBG(ERR, \"Invalid bp for port_id %u\\n\", parms->port_id);\n+\t\treturn rc;\n+\t}\n+\tvnic = BNXT_GET_DEFAULT_VNIC(bp);\n+\tif (vnic == NULL) {\n+\t\tBNXT_TF_DBG(ERR, \"default vnic not available for %u\\n\",\n+\t\t\t    parms->port_id);\n+\t\treturn rc;\n+\t}\n+\n+\t/* get the details */\n+\tmemcpy(&rss_types, &ap->act_details[BNXT_ULP_ACT_PROP_IDX_RSS_TYPES],\n+\t       BNXT_ULP_ACT_PROP_SZ_RSS_TYPES);\n+\tmemcpy(&rss_level, &ap->act_details[BNXT_ULP_ACT_PROP_IDX_RSS_LEVEL],\n+\t       BNXT_ULP_ACT_PROP_SZ_RSS_LEVEL);\n+\tmemcpy(&key_len, &ap->act_details[BNXT_ULP_ACT_PROP_IDX_RSS_KEY_LEN],\n+\t       BNXT_ULP_ACT_PROP_SZ_RSS_KEY_LEN);\n+\trss_key = &ap->act_details[BNXT_ULP_ACT_PROP_IDX_RSS_KEY];\n+\n+\thwrm_type = bnxt_rte_to_hwrm_hash_types(rss_types);\n+\tif (!hwrm_type) {\n+\t\tBNXT_TF_DBG(ERR, \"Error unsupported rss config type\\n\");\n+\t\treturn rc;\n+\t}\n+\t/* Configure RSS only if the queue count is > 1 */\n+\tif (vnic->rx_queue_cnt > 1) {\n+\t\tvnic->hash_type = hwrm_type;\n+\t\tvnic->hash_mode =\n+\t\t\tbnxt_rte_to_hwrm_hash_level(bp, rss_types, rss_level);\n+\t\tmemcpy(vnic->rss_hash_key, rss_key,\n+\t\t       BNXT_ULP_ACT_PROP_SZ_RSS_KEY);\n+\t\trc = bnxt_hwrm_vnic_rss_cfg(bp, vnic);\n+\t\tif (rc) {\n+\t\t\tBNXT_TF_DBG(ERR, \"Error configuring vnic RSS config\\n\");\n+\t\t\treturn rc;\n+\t\t}\n+\t\tBNXT_TF_DBG(INFO, \"Rss config successfully applied\\n\");\n+\t}\n+\treturn 0;\n+}\n+\n+#define PARENT_PHY_INTF_PATH \"/sys/bus/pci/devices/%s/physfn/net/*\"\n+#define ULP_PRT_MAC_PATH \"/sys/bus/pci/devices/%s/physfn/net/%s/address\"\n+\n+#define ULP_FILE_PATH_SIZE 256\n+\n+static int32_t glob_error_fn(const char *epath, int32_t eerrno)\n+{\n+\tBNXT_TF_DBG(ERR, \"path %s error %d\\n\", epath, eerrno);\n+\treturn 0;\n+}\n+\n+\n+static int32_t ulp_pmd_get_mac_by_pci(const char *pci_name, uint8_t *mac)\n+{\n+\tchar path[ULP_FILE_PATH_SIZE], dev_str[ULP_FILE_PATH_SIZE];\n+\tchar *intf_name;\n+\tglob_t gres;\n+\tFILE *fp;\n+\tint32_t rc = -EINVAL;\n+\n+\tmemset(path, 0, sizeof(path));\n+\tsprintf(path, PARENT_PHY_INTF_PATH, pci_name);\n+\n+\t/* There can be only one, no more, no less */\n+\tif (glob(path, 0, glob_error_fn, &gres) == 0) {\n+\t\tif (gres.gl_pathc != 1)\n+\t\t\treturn rc;\n+\n+\t\t/* Replace the PCI address with interface name and get index */\n+\t\tintf_name = basename(gres.gl_pathv[0]);\n+\t\tsprintf(path, ULP_PRT_MAC_PATH, pci_name, intf_name);\n+\n+\t\tfp = fopen(path, \"r\");\n+\t\tif (!fp) {\n+\t\t\tBNXT_TF_DBG(ERR, \"Error in getting bond mac address\\n\");\n+\t\t\treturn rc;\n+\t\t}\n+\n+\t\tmemset(dev_str, 0, sizeof(dev_str));\n+\t\tif (fgets(dev_str, sizeof(dev_str), fp) == NULL) {\n+\t\t\tBNXT_TF_DBG(ERR, \"Error in reading %s\\n\", path);\n+\t\t\tfclose(fp);\n+\t\t\treturn rc;\n+\t\t}\n+\n+\t\tif (sscanf(dev_str, \"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx\\n\",\n+\t\t\t   &mac[0], &mac[1], &mac[2],\n+\t\t\t   &mac[3], &mac[4], &mac[5]) == 6)\n+\t\t\trc = 0;\n+\t\tfclose(fp);\n+\t}\n+\treturn rc;\n+}\n+\n+int32_t bnxt_pmd_get_parent_mac_addr(struct bnxt_ulp_mapper_parms *parms,\n+\t\t\t\t     uint8_t *mac)\n+{\n+\tstruct bnxt *bp = NULL;\n+\tint32_t rc = -EINVAL;\n+\n+\tbp = bnxt_pmd_get_bp(parms->port_id);\n+\tif (bp == NULL) {\n+\t\tBNXT_TF_DBG(ERR, \"Invalid bp for port_id %u\\n\", parms->port_id);\n+\t\treturn rc;\n+\t}\n+\treturn ulp_pmd_get_mac_by_pci(bp->pdev->name, &mac[2]);\n+}\n+\n+uint16_t\n+bnxt_pmd_get_svif(uint16_t port_id, bool func_svif,\n+\t      enum bnxt_ulp_intf_type type)\n+{\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt *bp;\n+\n+\teth_dev = &rte_eth_devices[port_id];\n+\tif (BNXT_ETH_DEV_IS_REPRESENTOR(eth_dev)) {\n+\t\tstruct bnxt_representor *vfr = eth_dev->data->dev_private;\n+\t\tif (!vfr)\n+\t\t\treturn 0;\n+\n+\t\tif (type == BNXT_ULP_INTF_TYPE_VF_REP)\n+\t\t\treturn vfr->svif;\n+\n+\t\teth_dev = vfr->parent_dev;\n+\t}\n+\n+\tbp = eth_dev->data->dev_private;\n+\n+\treturn func_svif ? bp->func_svif : bp->port_svif;\n+}\n+\n+void\n+bnxt_pmd_get_iface_mac(uint16_t port, enum bnxt_ulp_intf_type type,\n+\t\t       uint8_t *mac, uint8_t *parent_mac)\n+{\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt *bp;\n+\n+\tif (type != BNXT_ULP_INTF_TYPE_TRUSTED_VF &&\n+\t    type != BNXT_ULP_INTF_TYPE_PF)\n+\t\treturn;\n+\n+\teth_dev = &rte_eth_devices[port];\n+\tbp = eth_dev->data->dev_private;\n+\tmemcpy(mac, bp->mac_addr, RTE_ETHER_ADDR_LEN);\n+\n+\tif (type == BNXT_ULP_INTF_TYPE_TRUSTED_VF)\n+\t\tmemcpy(parent_mac, bp->parent->mac_addr, RTE_ETHER_ADDR_LEN);\n+}\n+\n+uint16_t\n+bnxt_pmd_get_parent_vnic_id(uint16_t port, enum bnxt_ulp_intf_type type)\n+{\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt *bp;\n+\n+\tif (type != BNXT_ULP_INTF_TYPE_TRUSTED_VF)\n+\t\treturn 0;\n+\n+\teth_dev = &rte_eth_devices[port];\n+\tbp = eth_dev->data->dev_private;\n+\n+\treturn bp->parent->vnic;\n+}\n+\n+uint16_t\n+bnxt_pmd_get_vnic_id(uint16_t port, enum bnxt_ulp_intf_type type)\n+{\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt_vnic_info *vnic;\n+\tstruct bnxt *bp;\n+\n+\teth_dev = &rte_eth_devices[port];\n+\tif (BNXT_ETH_DEV_IS_REPRESENTOR(eth_dev)) {\n+\t\tstruct bnxt_representor *vfr = eth_dev->data->dev_private;\n+\t\tif (!vfr)\n+\t\t\treturn 0;\n+\n+\t\tif (type == BNXT_ULP_INTF_TYPE_VF_REP)\n+\t\t\treturn vfr->dflt_vnic_id;\n+\n+\t\teth_dev = vfr->parent_dev;\n+\t}\n+\n+\tbp = eth_dev->data->dev_private;\n+\n+\tvnic = BNXT_GET_DEFAULT_VNIC(bp);\n+\n+\treturn vnic->fw_vnic_id;\n+}\n+\n+uint16_t\n+bnxt_pmd_get_fw_func_id(uint16_t port, enum bnxt_ulp_intf_type type)\n+{\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt *bp;\n+\n+\teth_dev = &rte_eth_devices[port];\n+\tif (BNXT_ETH_DEV_IS_REPRESENTOR(eth_dev)) {\n+\t\tstruct bnxt_representor *vfr = eth_dev->data->dev_private;\n+\t\tif (!vfr)\n+\t\t\treturn 0;\n+\n+\t\tif (type == BNXT_ULP_INTF_TYPE_VF_REP)\n+\t\t\treturn vfr->fw_fid;\n+\n+\t\teth_dev = vfr->parent_dev;\n+\t}\n+\n+\tbp = eth_dev->data->dev_private;\n+\n+\treturn bp->fw_fid;\n+}\n+\n+enum bnxt_ulp_intf_type\n+bnxt_pmd_get_interface_type(uint16_t port)\n+{\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt *bp;\n+\n+\teth_dev = &rte_eth_devices[port];\n+\tif (BNXT_ETH_DEV_IS_REPRESENTOR(eth_dev))\n+\t\treturn BNXT_ULP_INTF_TYPE_VF_REP;\n+\n+\tbp = eth_dev->data->dev_private;\n+\tif (BNXT_PF(bp))\n+\t\treturn BNXT_ULP_INTF_TYPE_PF;\n+\telse if (BNXT_VF_IS_TRUSTED(bp))\n+\t\treturn BNXT_ULP_INTF_TYPE_TRUSTED_VF;\n+\telse if (BNXT_VF(bp))\n+\t\treturn BNXT_ULP_INTF_TYPE_VF;\n+\n+\treturn BNXT_ULP_INTF_TYPE_INVALID;\n+}\n+\n+uint16_t\n+bnxt_pmd_get_phy_port_id(uint16_t port_id)\n+{\n+\tstruct bnxt_representor *vfr;\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt *bp;\n+\n+\teth_dev = &rte_eth_devices[port_id];\n+\tif (BNXT_ETH_DEV_IS_REPRESENTOR(eth_dev)) {\n+\t\tvfr = eth_dev->data->dev_private;\n+\t\tif (!vfr)\n+\t\t\treturn 0;\n+\n+\t\teth_dev = vfr->parent_dev;\n+\t}\n+\n+\tbp = eth_dev->data->dev_private;\n+\n+\treturn BNXT_PF(bp) ? bp->pf->port_id : bp->parent->port_id;\n+}\n+\n+uint16_t\n+bnxt_pmd_get_parif(uint16_t port_id, enum bnxt_ulp_intf_type type)\n+{\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt *bp;\n+\n+\teth_dev = &rte_eth_devices[port_id];\n+\tif (BNXT_ETH_DEV_IS_REPRESENTOR(eth_dev)) {\n+\t\tstruct bnxt_representor *vfr = eth_dev->data->dev_private;\n+\t\tif (!vfr)\n+\t\t\treturn 0;\n+\n+\t\tif (type == BNXT_ULP_INTF_TYPE_VF_REP)\n+\t\t\treturn vfr->fw_fid - 1;\n+\n+\t\teth_dev = vfr->parent_dev;\n+\t}\n+\n+\tbp = eth_dev->data->dev_private;\n+\n+\treturn BNXT_PF(bp) ? bp->fw_fid - 1 : bp->parent->fid - 1;\n+}\n+\n+uint16_t\n+bnxt_pmd_get_vport(uint16_t port_id)\n+{\n+\treturn (1 << bnxt_pmd_get_phy_port_id(port_id));\n+}\n+\n+\n+int32_t\n+bnxt_pmd_set_unicast_rxmask(struct rte_eth_dev *eth_dev)\n+{\n+\tstruct bnxt *bp = eth_dev->data->dev_private;\n+\tstruct bnxt_vnic_info *vnic;\n+\tuint32_t old_flags;\n+\tint32_t rc;\n+\n+\trc = is_bnxt_in_error(bp);\n+\tif (rc)\n+\t\treturn rc;\n+\n+\t/* Filter settings will get applied when port is started */\n+\tif (!eth_dev->data->dev_started)\n+\t\treturn 0;\n+\n+\tif (bp->vnic_info == NULL)\n+\t\treturn 0;\n+\n+\tvnic = BNXT_GET_DEFAULT_VNIC(bp);\n+\n+\told_flags = vnic->flags;\n+\tvnic->flags |= BNXT_VNIC_INFO_UCAST;\n+\tvnic->flags &= ~BNXT_VNIC_INFO_PROMISC;\n+\tvnic->flags &= ~BNXT_VNIC_INFO_ALLMULTI;\n+\tvnic->flags &= ~BNXT_VNIC_INFO_BCAST;\n+\trc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, vnic, 0, NULL);\n+\tif (rc != 0)\n+\t\tvnic->flags = old_flags;\n+\n+\treturn rc;\n+}\ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h b/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h\nnew file mode 100644\nindex 0000000000..229e21814b\n--- /dev/null\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h\n@@ -0,0 +1,29 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2021-2021 Broadcom\n+ * All rights reserved.\n+ */\n+\n+#ifndef _BNXT_TF_PMD_ABSTRACT_H_\n+#define _BNXT_TF_PMD_ABSTRACT_H_\n+\n+#include \"bnxt_tf_common.h\"\n+#include \"ulp_mapper.h\"\n+\n+int32_t bnxt_rss_config_action_apply(struct bnxt_ulp_mapper_parms *parms);\n+int32_t bnxt_pmd_get_parent_mac_addr(struct bnxt_ulp_mapper_parms *parms,\n+\t\t\t\t     uint8_t *mac);\n+void bnxt_pmd_get_iface_mac(uint16_t port, enum bnxt_ulp_intf_type type,\n+\t\t\t    uint8_t *mac, uint8_t *parent_mac);\n+uint16_t bnxt_pmd_get_vnic_id(uint16_t port, enum bnxt_ulp_intf_type type);\n+uint16_t bnxt_pmd_get_parent_vnic_id(uint16_t port, enum bnxt_ulp_intf_type type);\n+struct bnxt *bnxt_pmd_get_bp(uint16_t port);\n+uint16_t bnxt_pmd_get_svif(uint16_t port_id, bool func_svif,\n+\t\t\t   enum bnxt_ulp_intf_type type);\n+uint16_t bnxt_pmd_get_fw_func_id(uint16_t port, enum bnxt_ulp_intf_type type);\n+uint16_t bnxt_pmd_get_parif(uint16_t port, enum bnxt_ulp_intf_type type);\n+uint16_t bnxt_pmd_get_phy_port_id(uint16_t port);\n+uint16_t bnxt_pmd_get_vport(uint16_t port);\n+enum bnxt_ulp_intf_type bnxt_pmd_get_interface_type(uint16_t port);\n+int32_t bnxt_pmd_set_unicast_rxmask(struct rte_eth_dev *eth_dev);\n+\n+#endif /* _BNXT_TF_PMD_ABSTRACT_H_ */\ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\nindex 5f1540027c..fa2148ead7 100644\n--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\n@@ -25,6 +25,7 @@\n #include \"ulp_port_db.h\"\n #include \"ulp_tun.h\"\n #include \"ulp_ha_mgr.h\"\n+#include \"bnxt_tf_pmd_shim.h\"\n \n /* Linked list of all TF sessions. */\n STAILQ_HEAD(, bnxt_ulp_session_state) bnxt_ulp_session_list =\n@@ -67,7 +68,6 @@ bnxt_ulp_devid_get(struct bnxt *bp,\n \t\t   enum bnxt_ulp_device_id  *ulp_dev_id)\n {\n \tif (BNXT_CHIP_P5(bp)) {\n-\t\t/* TBD: needs to accommodate even SR2 */\n \t\t*ulp_dev_id = BNXT_ULP_DEVICE_ID_THOR;\n \t\treturn 0;\n \t}\n@@ -123,7 +123,7 @@ bnxt_ulp_named_resources_calc(struct bnxt_ulp_context *ulp_ctx,\n \t\t\t      uint32_t num,\n \t\t\t      struct tf_session_resources *res)\n {\n-\tuint32_t dev_id, res_type, i;\n+\tuint32_t dev_id = BNXT_ULP_DEVICE_ID_LAST, res_type, i;\n \tenum tf_dir dir;\n \tuint8_t app_id;\n \tint32_t rc = 0;\n@@ -331,6 +331,9 @@ bnxt_ulp_cntxt_app_caps_init(struct bnxt_ulp_context *ulp_ctx,\n \t\tif (info[i].flags & BNXT_ULP_APP_CAP_HOT_UPGRADE_EN)\n \t\t\tulp_ctx->cfg_data->ulp_flags |=\n \t\t\t\tBNXT_ULP_HIGH_AVAIL_ENABLED;\n+\t\tif (info[i].flags & BNXT_ULP_APP_CAP_UNICAST_ONLY)\n+\t\t\tulp_ctx->cfg_data->ulp_flags |=\n+\t\t\t\tBNXT_ULP_APP_UNICAST_ONLY;\n \t}\n \tif (!found) {\n \t\tBNXT_TF_DBG(ERR, \"APP ID %d, Device ID: 0x%x not supported.\\n\",\n@@ -378,8 +381,8 @@ ulp_ctx_shared_session_open(struct bnxt *bp,\n \tstruct rte_eth_dev *ethdev = bp->eth_dev;\n \tstruct tf_session_resources *resources;\n \tstruct tf_open_session_parms parms;\n-\tsize_t copy_num_bytes;\n-\tuint32_t ulp_dev_id;\n+\tsize_t copy_nbytes;\n+\tuint32_t ulp_dev_id = BNXT_ULP_DEVICE_ID_LAST;\n \tint32_t\trc = 0;\n \n \t/* only perform this if shared session is enabled. */\n@@ -401,11 +404,19 @@ ulp_ctx_shared_session_open(struct bnxt *bp,\n \t * Need to account for size of ctrl_chan_name and 1 extra for Null\n \t * terminator\n \t */\n-\tcopy_num_bytes = sizeof(parms.ctrl_chan_name) -\n+\tcopy_nbytes = sizeof(parms.ctrl_chan_name) -\n \t\tstrlen(parms.ctrl_chan_name) - 1;\n \n-\t/* Build the ctrl_chan_name with shared token */\n-\tstrncat(parms.ctrl_chan_name, \"-tf_shared\", copy_num_bytes);\n+\t/*\n+\t * Build the ctrl_chan_name with shared token.\n+\t * When HA is enabled, the WC TCAM needs extra management by the core,\n+\t * so add the wc_tcam string to the control channel.\n+\t */\n+\tif (bnxt_ulp_cntxt_ha_enabled(bp->ulp_ctx))\n+\t\tstrncat(parms.ctrl_chan_name, \"-tf_shared-wc_tcam\",\n+\t\t\tcopy_nbytes);\n+\telse\n+\t\tstrncat(parms.ctrl_chan_name, \"-tf_shared\", copy_nbytes);\n \n \trc = bnxt_ulp_tf_shared_session_resources_get(bp->ulp_ctx, resources);\n \tif (rc)\n@@ -504,7 +515,7 @@ ulp_ctx_session_open(struct bnxt *bp,\n \tint32_t\t\t\t\trc = 0;\n \tstruct tf_open_session_parms\tparams;\n \tstruct tf_session_resources\t*resources;\n-\tuint32_t\t\t\tulp_dev_id;\n+\tuint32_t ulp_dev_id = BNXT_ULP_DEVICE_ID_LAST;\n \n \tmemset(&params, 0, sizeof(params));\n \n@@ -835,7 +846,7 @@ static int32_t\n ulp_dparms_init(struct bnxt *bp, struct bnxt_ulp_context *ulp_ctx)\n {\n \tstruct bnxt_ulp_device_params *dparms;\n-\tuint32_t dev_id;\n+\tuint32_t dev_id = BNXT_ULP_DEVICE_ID_LAST;\n \n \tif (!bp->max_num_kflows) {\n \t\t/* Defaults to Internal */\n@@ -890,7 +901,7 @@ ulp_ctx_attach(struct bnxt *bp,\n \t       struct bnxt_ulp_session_state *session)\n {\n \tint32_t rc = 0;\n-\tuint32_t flags, dev_id;\n+\tuint32_t flags, dev_id = BNXT_ULP_DEVICE_ID_LAST;\n \tuint8_t app_id;\n \n \t/* Increment the ulp context data reference count usage. */\n@@ -1350,15 +1361,21 @@ bnxt_ulp_port_init(struct bnxt *bp)\n {\n \tstruct bnxt_ulp_session_state *session;\n \tbool initialized;\n+\tenum bnxt_ulp_device_id devid = BNXT_ULP_DEVICE_ID_LAST;\n+\tuint32_t ulp_flags;\n \tint32_t rc = 0;\n \n-\tif (!bp || !BNXT_TRUFLOW_EN(bp))\n-\t\treturn rc;\n-\n \tif (!BNXT_PF(bp) && !BNXT_VF_IS_TRUSTED(bp)) {\n \t\tBNXT_TF_DBG(ERR,\n \t\t\t    \"Skip ulp init for port: %d, not a TVF or PF\\n\",\n-\t\t\tbp->eth_dev->data->port_id);\n+\t\t\t    bp->eth_dev->data->port_id);\n+\t\treturn rc;\n+\t}\n+\n+\tif (!BNXT_TRUFLOW_EN(bp)) {\n+\t\tBNXT_TF_DBG(DEBUG,\n+\t\t\t    \"Skip ulp init for port: %d, truflow is not enabled\\n\",\n+\t\t\t    bp->eth_dev->data->port_id);\n \t\treturn rc;\n \t}\n \n@@ -1436,11 +1453,31 @@ bnxt_ulp_port_init(struct bnxt *bp)\n \t\tgoto jump_to_error;\n \t}\n \n-\tif (BNXT_ACCUM_STATS_EN(bp))\n+\trc = bnxt_ulp_devid_get(bp, &devid);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Unable to determine device for ULP port init.\\n\");\n+\t\tgoto jump_to_error;\n+\t}\n+\n+\tif (devid != BNXT_ULP_DEVICE_ID_THOR && BNXT_ACCUM_STATS_EN(bp))\n \t\tbp->ulp_ctx->cfg_data->accum_stats = true;\n \n-\tBNXT_TF_DBG(DEBUG, \"BNXT Port:%d ULP port init\\n\",\n-\t\t    bp->eth_dev->data->port_id);\n+\tBNXT_TF_DBG(DEBUG, \"BNXT Port:%d ULP port init, accum_stats:%d\\n\",\n+\t\t    bp->eth_dev->data->port_id,\n+\t\t    bp->ulp_ctx->cfg_data->accum_stats);\n+\n+\t/* set the unicast mode */\n+\tif (bnxt_ulp_cntxt_ptr2_ulp_flags_get(bp->ulp_ctx, &ulp_flags)) {\n+\t\tBNXT_TF_DBG(ERR, \"Error in getting ULP context flags\\n\");\n+\t\tgoto jump_to_error;\n+\t}\n+\tif (ulp_flags & BNXT_ULP_APP_UNICAST_ONLY) {\n+\t\tif (bnxt_pmd_set_unicast_rxmask(bp->eth_dev)) {\n+\t\t\tBNXT_TF_DBG(ERR, \"Error in setting unicast rxmode\\n\");\n+\t\t\tgoto jump_to_error;\n+\t\t}\n+\t}\n+\n \treturn rc;\n \n jump_to_error:\n@@ -1459,9 +1496,6 @@ bnxt_ulp_port_deinit(struct bnxt *bp)\n \tstruct rte_pci_device *pci_dev;\n \tstruct rte_pci_addr *pci_addr;\n \n-\tif (!BNXT_TRUFLOW_EN(bp))\n-\t\treturn;\n-\n \tif (!BNXT_PF(bp) && !BNXT_VF_IS_TRUSTED(bp)) {\n \t\tBNXT_TF_DBG(ERR,\n \t\t\t    \"Skip ULP deinit port:%d, not a TVF or PF\\n\",\n@@ -1469,6 +1503,13 @@ bnxt_ulp_port_deinit(struct bnxt *bp)\n \t\treturn;\n \t}\n \n+\tif (!BNXT_TRUFLOW_EN(bp)) {\n+\t\tBNXT_TF_DBG(DEBUG,\n+\t\t\t    \"Skip ULP deinit for port:%d, truflow is not enabled\\n\",\n+\t\t\t    bp->eth_dev->data->port_id);\n+\t\treturn;\n+\t}\n+\n \tif (!bp->ulp_ctx) {\n \t\tBNXT_TF_DBG(DEBUG, \"ulp ctx already de-allocated\\n\");\n \t\treturn;\n@@ -1599,7 +1640,7 @@ bnxt_ulp_cntxt_dev_id_get(struct bnxt_ulp_context *ulp_ctx,\n \t\t*dev_id = ulp_ctx->cfg_data->dev_id;\n \t\treturn 0;\n \t}\n-\n+\t*dev_id = BNXT_ULP_DEVICE_ID_LAST;\n \tBNXT_TF_DBG(ERR, \"Failed to read dev_id from ulp ctxt\\n\");\n \treturn -EINVAL;\n }\n@@ -1624,6 +1665,7 @@ bnxt_ulp_cntxt_mem_type_get(struct bnxt_ulp_context *ulp_ctx,\n \t\t*mem_type = ulp_ctx->cfg_data->mem_type;\n \t\treturn 0;\n \t}\n+\t*mem_type = BNXT_ULP_FLOW_MEM_TYPE_LAST;\n \tBNXT_TF_DBG(ERR, \"Failed to read mem_type in ulp ctxt\\n\");\n \treturn -EINVAL;\n }\n@@ -1663,6 +1705,13 @@ bnxt_ulp_cntxt_shared_tfp_set(struct bnxt_ulp_context *ulp, struct tf *tfp)\n \t\treturn -EINVAL;\n \t}\n \n+\tif (tfp == NULL) {\n+\t\tif (ulp->cfg_data->num_shared_clients > 0)\n+\t\t\tulp->cfg_data->num_shared_clients--;\n+\t} else {\n+\t\tulp->cfg_data->num_shared_clients++;\n+\t}\n+\n \tulp->g_shared_tfp = tfp;\n \treturn 0;\n }\n@@ -1678,6 +1727,17 @@ bnxt_ulp_cntxt_shared_tfp_get(struct bnxt_ulp_context *ulp)\n \treturn ulp->g_shared_tfp;\n }\n \n+/* Function to get the number of shared clients attached */\n+uint8_t\n+bnxt_ulp_cntxt_num_shared_clients_get(struct bnxt_ulp_context *ulp)\n+{\n+\tif (ulp == NULL || ulp->cfg_data == NULL) {\n+\t\tBNXT_TF_DBG(ERR, \"Invalid arguments\\n\");\n+\t\treturn 0;\n+\t}\n+\treturn ulp->cfg_data->num_shared_clients;\n+}\n+\n /* Function to set the tfp session details from the ulp context. */\n int32_t\n bnxt_ulp_cntxt_tfp_set(struct bnxt_ulp_context *ulp, struct tf *tfp)\ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h\nindex ea38dc0d9f..082ca501b6 100644\n--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h\n@@ -32,6 +32,7 @@\n #define BNXT_ULP_SHARED_SESSION_ENABLED\t0x2\n #define BNXT_ULP_APP_DEV_UNSUPPORTED\t0x4\n #define BNXT_ULP_HIGH_AVAIL_ENABLED\t0x8\n+#define BNXT_ULP_APP_UNICAST_ONLY\t0x10\n #define ULP_VF_REP_IS_ENABLED(flag)\t((flag) & BNXT_ULP_VF_REP_ENABLED)\n #define ULP_SHARED_SESSION_IS_ENABLED(flag) ((flag) &\\\n \t\t\t\t\t     BNXT_ULP_SHARED_SESSION_ENABLED)\n@@ -77,6 +78,7 @@ struct bnxt_ulp_data {\n \tstruct bnxt_tun_cache_entry\ttun_tbl[BNXT_ULP_MAX_TUN_CACHE_ENTRIES];\n \tbool\t\t\t\taccum_stats;\n \tuint8_t\t\t\t\tapp_id;\n+\tuint8_t\t\t\t\tnum_shared_clients;\n };\n \n struct bnxt_ulp_context {\n@@ -297,4 +299,6 @@ bnxt_ulp_cntxt_entry_acquire(void);\n void\n bnxt_ulp_cntxt_entry_release(void);\n \n+uint8_t\n+bnxt_ulp_cntxt_num_shared_clients_get(struct bnxt_ulp_context *ulp_ctx);\n #endif /* _BNXT_ULP_H_ */\ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c\nindex 96e6a76270..19e9dba356 100644\n--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c\n@@ -103,6 +103,7 @@ bnxt_ulp_init_mapper_params(struct bnxt_ulp_mapper_create_parms *mapper_cparms,\n \tmapper_cparms->flow_pattern_id = params->flow_pattern_id;\n \tmapper_cparms->act_pattern_id = params->act_pattern_id;\n \tmapper_cparms->app_id = params->app_id;\n+\tmapper_cparms->port_id = params->port_id;\n \n \t/* update the signature fields into the computed field list */\n \tULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_HDR_SIG_ID,\ndiff --git a/drivers/net/bnxt/tf_ulp/meson.build b/drivers/net/bnxt/tf_ulp/meson.build\nindex 40479c5936..456d8ca7b6 100644\n--- a/drivers/net/bnxt/tf_ulp/meson.build\n+++ b/drivers/net/bnxt/tf_ulp/meson.build\n@@ -22,6 +22,7 @@ sources += files(\n         'ulp_def_rules.c',\n         'ulp_fc_mgr.c',\n         'ulp_tun.c',\n+\t'bnxt_tf_pmd_shim.c',\n         'ulp_gen_tbl.c',\n \t'ulp_gen_hash.c',\n \t'ulp_ha_mgr.c',\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c\nindex 483030edbf..d8336d164e 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c\n@@ -299,7 +299,7 @@ ulp_default_flow_create(struct rte_eth_dev *eth_dev,\n \t\t\tuint32_t *flow_id)\n {\n \tstruct ulp_rte_hdr_field\thdr_field[BNXT_ULP_PROTO_HDR_MAX];\n-\tuint32_t\t\t\tcomp_fld[BNXT_ULP_CF_IDX_LAST];\n+\tuint64_t\t\t\tcomp_fld[BNXT_ULP_CF_IDX_LAST];\n \tstruct bnxt_ulp_mapper_create_parms mapper_params = { 0 };\n \tstruct ulp_rte_act_prop\t\tact_prop;\n \tstruct ulp_rte_act_bitmap\tact = { 0 };\n@@ -318,6 +318,7 @@ ulp_default_flow_create(struct rte_eth_dev *eth_dev,\n \tmapper_params.comp_fld = comp_fld;\n \tmapper_params.class_tid = ulp_class_tid;\n \tmapper_params.flow_type = BNXT_ULP_FDB_TYPE_DEFAULT;\n+\tmapper_params.port_id = eth_dev->data->port_id;\n \n \tulp_ctx = bnxt_ulp_eth_dev_ptr2_cntxt_get(eth_dev);\n \tif (!ulp_ctx) {\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c\nindex 9a77132385..13f71ed83b 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c\n@@ -80,12 +80,6 @@ ulp_fc_mgr_init(struct bnxt_ulp_context *ctxt)\n \t\treturn -EINVAL;\n \t}\n \n-\tif (!dparms->flow_count_db_entries) {\n-\t\tBNXT_TF_DBG(DEBUG, \"flow counter support is not enabled\\n\");\n-\t\tbnxt_ulp_cntxt_ptr2_fc_info_set(ctxt, NULL);\n-\t\treturn 0;\n-\t}\n-\n \tulp_fc_info = rte_zmalloc(\"ulp_fc_info\", sizeof(*ulp_fc_info), 0);\n \tif (!ulp_fc_info)\n \t\tgoto error;\n@@ -99,6 +93,13 @@ ulp_fc_mgr_init(struct bnxt_ulp_context *ctxt)\n \t/* Add the FC info tbl to the ulp context. */\n \tbnxt_ulp_cntxt_ptr2_fc_info_set(ctxt, ulp_fc_info);\n \n+\tulp_fc_info->num_counters = dparms->flow_count_db_entries;\n+\tif (!ulp_fc_info->num_counters) {\n+\t\t/* No need for software counters, call fw directly */\n+\t\tBNXT_TF_DBG(DEBUG, \"Sw flow counter support not enabled\\n\");\n+\t\treturn 0;\n+\t}\n+\n \tsw_acc_cntr_tbl_sz = sizeof(struct sw_acc_counter) *\n \t\t\t\tdparms->flow_count_db_entries;\n \n@@ -138,6 +139,7 @@ int32_t\n ulp_fc_mgr_deinit(struct bnxt_ulp_context *ctxt)\n {\n \tstruct bnxt_ulp_fc_info *ulp_fc_info;\n+\tstruct hw_fc_mem_info *shd_info;\n \tint i;\n \n \tulp_fc_info = bnxt_ulp_cntxt_ptr2_fc_info_get(ctxt);\n@@ -149,11 +151,15 @@ ulp_fc_mgr_deinit(struct bnxt_ulp_context *ctxt)\n \n \tpthread_mutex_destroy(&ulp_fc_info->fc_lock);\n \n-\tfor (i = 0; i < TF_DIR_MAX; i++)\n-\t\trte_free(ulp_fc_info->sw_acc_tbl[i]);\n+\tif (ulp_fc_info->num_counters) {\n+\t\tfor (i = 0; i < TF_DIR_MAX; i++)\n+\t\t\trte_free(ulp_fc_info->sw_acc_tbl[i]);\n \n-\tfor (i = 0; i < TF_DIR_MAX; i++)\n-\t\tulp_fc_mgr_shadow_mem_free(&ulp_fc_info->shadow_hw_tbl[i]);\n+\t\tfor (i = 0; i < TF_DIR_MAX; i++) {\n+\t\t\tshd_info = &ulp_fc_info->shadow_hw_tbl[i];\n+\t\t\tulp_fc_mgr_shadow_mem_free(shd_info);\n+\t\t}\n+\t}\n \n \trte_free(ulp_fc_info);\n \n@@ -291,6 +297,74 @@ ulp_bulk_get_flow_stats(struct tf *tfp,\n \treturn rc;\n }\n \n+static int32_t\n+ulp_fc_tf_flow_stat_get(struct bnxt_ulp_context *ctxt,\n+\t\t\tstruct ulp_flow_db_res_params *res,\n+\t\t\tstruct rte_flow_query_count *qcount)\n+{\n+\tstruct tf *tfp;\n+\tstruct bnxt_ulp_device_params *dparms;\n+\tstruct tf_get_tbl_entry_parms parms = { 0 };\n+\tstruct tf_set_tbl_entry_parms\tsparms = { 0 };\n+\tenum tf_tbl_type stype = TF_TBL_TYPE_ACT_STATS_64;\n+\tuint64_t stats = 0;\n+\tuint32_t dev_id = 0;\n+\tint32_t rc = 0;\n+\n+\ttfp = bnxt_ulp_cntxt_tfp_get(ctxt, BNXT_ULP_SHARED_SESSION_NO);\n+\tif (!tfp) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed to get the truflow pointer\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\n+\tif (bnxt_ulp_cntxt_dev_id_get(ctxt, &dev_id)) {\n+\t\tBNXT_TF_DBG(DEBUG, \"Failed to get device id\\n\");\n+\t\tbnxt_ulp_cntxt_entry_release();\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 device parms\\n\");\n+\t\tbnxt_ulp_cntxt_entry_release();\n+\t\treturn -EINVAL;\n+\t}\n+\tparms.dir = res->direction;\n+\tparms.type = stype;\n+\tparms.idx = res->resource_hndl;\n+\tparms.data_sz_in_bytes = sizeof(uint64_t);\n+\tparms.data = (uint8_t *)&stats;\n+\trc = tf_get_tbl_entry(tfp, &parms);\n+\tif (rc) {\n+\t\tPMD_DRV_LOG(ERR,\n+\t\t\t    \"Get failed for id:0x%x rc:%d\\n\",\n+\t\t\t    parms.idx, rc);\n+\t\treturn rc;\n+\t}\n+\tqcount->hits = FLOW_CNTR_PKTS(stats, dparms);\n+\tif (qcount->hits)\n+\t\tqcount->hits_set = 1;\n+\tqcount->bytes = FLOW_CNTR_BYTES(stats, dparms);\n+\tif (qcount->bytes)\n+\t\tqcount->bytes_set = 1;\n+\n+\tif (qcount->reset) {\n+\t\tstats = 0;\n+\t\tsparms.dir = res->direction;\n+\t\tsparms.type = stype;\n+\t\tsparms.idx = res->resource_hndl;\n+\t\tsparms.data = (uint8_t *)&stats;\n+\t\tsparms.data_sz_in_bytes = sizeof(uint64_t);\n+\t\trc = tf_set_tbl_entry(tfp, &sparms);\n+\t\tif (rc) {\n+\t\t\tPMD_DRV_LOG(ERR, \"Set failed for id:0x%x rc:%d\\n\",\n+\t\t\t\t    sparms.idx, rc);\n+\t\t\treturn rc;\n+\t\t}\n+\t}\n+\treturn rc;\n+}\n+\n static int ulp_get_single_flow_stat(struct bnxt_ulp_context *ctxt,\n \t\t\t\t    struct tf *tfp,\n \t\t\t\t    struct bnxt_ulp_fc_info *fc_info,\n@@ -540,6 +614,9 @@ int32_t ulp_fc_mgr_cntr_set(struct bnxt_ulp_context *ctxt, enum tf_dir dir,\n \tif (!ulp_fc_info)\n \t\treturn -EIO;\n \n+\tif (!ulp_fc_info->num_counters)\n+\t\treturn 0;\n+\n \tpthread_mutex_lock(&ulp_fc_info->fc_lock);\n \tsw_cntr_idx = hw_cntr_id - ulp_fc_info->shadow_hw_tbl[dir].start_idx;\n \tulp_fc_info->sw_acc_tbl[dir][sw_cntr_idx].valid = true;\n@@ -572,6 +649,9 @@ int32_t ulp_fc_mgr_cntr_reset(struct bnxt_ulp_context *ctxt, enum tf_dir dir,\n \tif (!ulp_fc_info)\n \t\treturn -EIO;\n \n+\tif (!ulp_fc_info->num_counters)\n+\t\treturn 0;\n+\n \tpthread_mutex_lock(&ulp_fc_info->fc_lock);\n \tsw_cntr_idx = hw_cntr_id - ulp_fc_info->shadow_hw_tbl[dir].start_idx;\n \tulp_fc_info->sw_acc_tbl[dir][sw_cntr_idx].valid = false;\n@@ -644,6 +724,9 @@ int ulp_fc_mgr_query_count_get(struct bnxt_ulp_context *ctxt,\n \thw_cntr_id = params.resource_hndl;\n \tif (params.resource_sub_type ==\n \t\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT) {\n+\t\tif (!ulp_fc_info->num_counters)\n+\t\t\treturn ulp_fc_tf_flow_stat_get(ctxt, &params, count);\n+\n \t\t/* TODO:\n \t\t * Think about optimizing with try_lock later\n \t\t */\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h\nindex 04cb86bea2..448d05c118 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h\n@@ -48,6 +48,7 @@ struct bnxt_ulp_fc_info {\n \tuint32_t\t\tflags;\n \tuint32_t\t\tnum_entries;\n \tpthread_mutex_t\t\tfc_lock;\n+\tuint32_t\t\tnum_counters;\n };\n \n int32_t\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c\nindex e7e8335dbe..ab6013f0e3 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.c\n@@ -116,7 +116,7 @@ ulp_flow_db_resource_func_get(struct ulp_fdb_resource_info *res_info)\n \n \tfunc = (((res_info->nxt_resource_idx & ULP_FLOW_DB_RES_FUNC_MASK) >>\n \t\t ULP_FLOW_DB_RES_FUNC_BITS) << ULP_FLOW_DB_RES_FUNC_UPPER);\n-\t/* The reource func is split into upper and lower */\n+\t/* The resource func is split into upper and lower */\n \tif (func & ULP_FLOW_DB_RES_FUNC_NEED_LOWER)\n \t\treturn (func | res_info->resource_func_lower);\n \treturn func;\n@@ -712,6 +712,12 @@ ulp_flow_db_resource_add(struct bnxt_ulp_context *ulp_ctxt,\n \t}\n \tfid_resource = &flow_tbl->flow_resources[fid];\n \n+\tif (params->critical_resource && fid_resource->resource_em_handle) {\n+\t\tBNXT_TF_DBG(DEBUG, \"Ignore multiple critical resources\\n\");\n+\t\t/* Ignore the multiple critical resources */\n+\t\tparams->critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO;\n+\t}\n+\n \tif (!params->critical_resource) {\n \t\t/* Not the critical_resource so allocate a resource */\n \t\tidx = flow_tbl->flow_tbl_stack[flow_tbl->tail_index];\n@@ -735,7 +741,7 @@ ulp_flow_db_resource_add(struct bnxt_ulp_context *ulp_ctxt,\n \tif (params->resource_type == TF_TBL_TYPE_ACT_STATS_64 &&\n \t    params->resource_sub_type ==\n \t    BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT &&\n-\t    ulp_fc_info) {\n+\t    ulp_fc_info && ulp_fc_info->num_counters) {\n \t\t/* Store the first HW counter ID for this table */\n \t\tif (!ulp_fc_mgr_start_idx_isset(ulp_ctxt, params->direction))\n \t\t\tulp_fc_mgr_start_idx_set(ulp_ctxt, params->direction,\n@@ -760,7 +766,7 @@ ulp_flow_db_resource_add(struct bnxt_ulp_context *ulp_ctxt,\n  * flow_type [in] Specify it is regular or default flow\n  * fid [in] The index to the flow entry\n  * params [in/out] The contents to be copied into params.\n- * Onlythe critical_resource needs to be set by the caller.\n+ * Only the critical_resource needs to be set by the caller.\n  *\n  * Returns 0 on success and negative on failure.\n  */\n@@ -1287,7 +1293,7 @@ ulp_default_flow_db_cfa_action_get(struct bnxt_ulp_context *ulp_ctx,\n \t\t\t\t\t     BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t\t\t\t\t     sub_typ, &params);\n \tif (rc) {\n-\t\tBNXT_TF_DBG(ERR, \"CFA Action ptr not found for flow id %u\\n\",\n+\t\tBNXT_TF_DBG(INFO, \"CFA Action ptr not found for flow id %u\\n\",\n \t\t\t    flow_id);\n \t\treturn -ENOENT;\n \t}\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.h b/drivers/net/bnxt/tf_ulp/ulp_flow_db.h\nindex d84715e59c..67afca8872 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.h\n@@ -18,7 +18,7 @@\n \n /*\n  * Structure for the flow database resource information\n- * The below structure is based on the below paritions\n+ * The below structure is based on the below partitions\n  * nxt_resource_idx = dir[31],resource_func_upper[30:28],nxt_resource_idx[27:0]\n  * If resource_func is EM_TBL then use resource_em_handle.\n  * Else the other part of the union is used and\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c\nindex 5c94e2f5d0..3c1af0b007 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c\n@@ -346,11 +346,15 @@ ulp_mapper_gen_tbl_res_free(struct bnxt_ulp_context *ulp_ctx,\n \t\treturn -EINVAL;\n \t}\n \tfid = tfp_be_to_cpu_32(fid);\n-\n-\t/* Destroy the flow associated with the shared flow id */\n-\tif (ulp_mapper_flow_destroy(ulp_ctx, BNXT_ULP_FDB_TYPE_RID,\n-\t\t\t\t    fid))\n-\t\tBNXT_TF_DBG(ERR, \"Error in deleting shared flow id %x\\n\", fid);\n+\t/* no need to del if fid is 0 since there is no associated resource */\n+\tif (fid) {\n+\t\t/* Destroy the flow associated with the shared flow id */\n+\t\tif (ulp_mapper_flow_destroy(ulp_ctx, BNXT_ULP_FDB_TYPE_RID,\n+\t\t\t\t\t    fid))\n+\t\t\tBNXT_TF_DBG(ERR,\n+\t\t\t\t    \"Error in deleting shared flow id %x\\n\",\n+\t\t\t\t    fid);\n+\t}\n \n \t/* Delete the entry from the hash table */\n \tif (gen_tbl_list->hash_tbl)\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c\nindex 1cfe5cd0a7..5f5b5d639e 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c\n@@ -24,8 +24,9 @@\n #define ULP_HA_IF_TBL_DIR\tTF_DIR_RX\n #define ULP_HA_IF_TBL_TYPE\tTF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR\n #define ULP_HA_IF_TBL_IDX 10\n+#define ULP_HA_CLIENT_CNT_IF_TBL_IDX 9\n \n-static void ulp_ha_mgr_timer_cancel(struct bnxt_ulp_context *ulp_ctx);\n+static void ulp_ha_mgr_timer_cancel(void);\n static int32_t ulp_ha_mgr_timer_start(void);\n static void ulp_ha_mgr_timer_cb(void *arg);\n static int32_t ulp_ha_mgr_app_type_set(struct bnxt_ulp_context *ulp_ctx,\n@@ -37,6 +38,9 @@ static int32_t\n ulp_ha_mgr_state_set(struct bnxt_ulp_context *ulp_ctx,\n \t\t     enum ulp_ha_mgr_state state);\n \n+static int32_t\n+ulp_ha_mgr_tf_client_num_get(struct bnxt_ulp_context *ulp_ctx, uint32_t *cnt);\n+\n static int32_t\n ulp_ha_mgr_state_set(struct bnxt_ulp_context *ulp_ctx,\n \t\t     enum ulp_ha_mgr_state state)\n@@ -71,6 +75,39 @@ ulp_ha_mgr_state_set(struct bnxt_ulp_context *ulp_ctx,\n \treturn rc;\n }\n \n+static int32_t\n+ulp_ha_mgr_tf_client_num_get(struct bnxt_ulp_context *ulp_ctx,\n+\t\t\t     uint32_t *cnt)\n+{\n+\tstruct tf_get_if_tbl_entry_parms get_parms = { 0 };\n+\tstruct tf *tfp;\n+\tuint32_t val = 0;\n+\tint32_t rc = 0;\n+\n+\tif (ulp_ctx == NULL || cnt == NULL) {\n+\t\tBNXT_TF_DBG(ERR, \"Invalid parms in client num get.\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\ttfp = bnxt_ulp_cntxt_tfp_get(ulp_ctx, BNXT_ULP_SHARED_SESSION_NO);\n+\tif (tfp == NULL) {\n+\t\tBNXT_TF_DBG(ERR, \"Unable to get the TFP.\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\n+\tget_parms.dir = ULP_HA_IF_TBL_DIR;\n+\tget_parms.type = ULP_HA_IF_TBL_TYPE;\n+\tget_parms.idx = ULP_HA_CLIENT_CNT_IF_TBL_IDX;\n+\tget_parms.data = (uint8_t *)&val;\n+\tget_parms.data_sz_in_bytes = sizeof(val);\n+\n+\trc = tf_get_if_tbl_entry(tfp, &get_parms);\n+\tif (rc)\n+\t\tBNXT_TF_DBG(ERR, \"Failed to read the number of HA clients\\n\");\n+\n+\t*cnt = val;\n+\treturn rc;\n+}\n+\n static int32_t\n ulp_ha_mgr_region_set(struct bnxt_ulp_context *ulp_ctx,\n \t\t      enum ulp_ha_mgr_region region)\n@@ -113,44 +150,113 @@ ulp_ha_mgr_app_type_set(struct bnxt_ulp_context *ulp_ctx,\n \treturn 0;\n }\n \n-/*\n- * When a secondary opens, the timer is started and periodically checks for a\n- * close of the primary (state moved to SEC_TIMER_COPY).\n- * In SEC_TIMER_COPY:\n- * - The flow db must be locked to prevent flows from being added to the high\n- *   region during a move.\n- * - Move the high entries to low\n- * - Set the region to low for subsequent flows\n- * - Switch our persona to Primary\n- * - Set the state to Primary Run\n- * - Release the flow db lock for flows to continue\n- */\n static void\n ulp_ha_mgr_timer_cb(void *arg __rte_unused)\n {\n \tstruct tf_move_tcam_shared_entries_parms mparms = { 0 };\n+\tstruct tf_clear_tcam_shared_entries_parms cparms = { 0 };\n \tstruct bnxt_ulp_context *ulp_ctx;\n \tenum ulp_ha_mgr_state curr_state;\n+\tenum ulp_ha_mgr_app_type app_type;\n+\tuint8_t myclient_cnt = 0;\n+\tuint32_t client_cnt = 0;\n \tstruct tf *tfp;\n \tint32_t rc;\n \n \tulp_ctx = bnxt_ulp_cntxt_entry_acquire();\n \tif (ulp_ctx == NULL) {\n-\t\tBNXT_TF_DBG(INFO, \"could not get the ulp context lock\\n\");\n \t\tulp_ha_mgr_timer_start();\n \t\treturn;\n \t}\n \n+\tmyclient_cnt = bnxt_ulp_cntxt_num_shared_clients_get(ulp_ctx);\n+\tif (myclient_cnt == 0) {\n+\t\tBNXT_TF_DBG(ERR,\n+\t\t\t    \"PANIC Client Count is zero kill timer\\n.\");\n+\t\treturn;\n+\t}\n+\n+\ttfp = bnxt_ulp_cntxt_tfp_get(ulp_ctx, BNXT_ULP_SHARED_SESSION_YES);\n+\tif (tfp == NULL) {\n+\t\tBNXT_TF_DBG(ERR, \"Unable to get the TFP.\\n\");\n+\t\tgoto cb_restart;\n+\t}\n+\n \trc = ulp_ha_mgr_state_get(ulp_ctx, &curr_state);\n \tif (rc) {\n \t\t/*\n-\t\t * This shouldn't happen, if it does, resetart the timer\n+\t\t * This shouldn't happen, if it does, reset the timer\n \t\t * and try again next time.\n \t\t */\n-\t\tBNXT_TF_DBG(ERR, \"On HA CB:Failed(%d) to get state.\\n\", rc);\n+\t\tBNXT_TF_DBG(ERR, \"Failed(%d) to get state.\\n\",\n+\t\t\t    rc);\n \t\tgoto cb_restart;\n \t}\n-\tif (curr_state != ULP_HA_STATE_SEC_TIMER_COPY)\n+\n+\trc = ulp_ha_mgr_tf_client_num_get(ulp_ctx, &client_cnt);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed(%d) to get cnt.\\n\",\n+\t\t\t    rc);\n+\t\tgoto cb_restart;\n+\t}\n+\n+\trc =  ulp_ha_mgr_app_type_get(ulp_ctx, &app_type);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Failed(%d) to get type.\\n\",\n+\t\t\t    rc);\n+\t\tgoto cb_restart;\n+\t}\n+\n+\t/* Handle the Cleanup if an app went away */\n+\tif (client_cnt == myclient_cnt) {\n+\t\tif (curr_state == ULP_HA_STATE_PRIM_SEC_RUN &&\n+\t\t    app_type == ULP_HA_APP_TYPE_PRIM) {\n+\t\t    /*\n+\t\t     * The SECONDARY went away:\n+\t\t     * 1. Set the state to PRIM_RUN\n+\t\t     * 2. Clear the High region so our TCAM will hit.\n+\t\t     */\n+\t\t\trc = ulp_ha_mgr_state_set(ulp_ctx,\n+\t\t\t\t\t\t  ULP_HA_STATE_PRIM_RUN);\n+\t\t\tif (rc) {\n+\t\t\t\tBNXT_TF_DBG(ERR,\n+\t\t\t\t\t    \"On HA CB:Failed(%d) to set state\\n\",\n+\t\t\t\t\t    rc);\n+\t\t\t\tgoto cb_restart;\n+\t\t\t}\n+\n+\t\t\tcparms.dir = TF_DIR_RX;\n+\t\t\tcparms.tcam_tbl_type =\n+\t\t\t\tTF_TCAM_TBL_TYPE_WC_TCAM_HIGH;\n+\t\t\trc = tf_clear_tcam_shared_entries(tfp, &cparms);\n+\t\t\tif (rc) {\n+\t\t\t\tBNXT_TF_DBG(ERR,\n+\t\t\t\t\t    \"On HA CB:Failed(%d) clear tcam\\n\",\n+\t\t\t\t\t    rc);\n+\t\t\t\tgoto cb_restart;\n+\t\t\t}\n+\t\t} else if (curr_state == ULP_HA_STATE_PRIM_SEC_RUN &&\n+\t\t\t    app_type == ULP_HA_APP_TYPE_SEC) {\n+\t\t\t/*\n+\t\t\t * The PRIMARY went away:\n+\t\t\t * 1. Set the state to SEC_COPY\n+\t\t\t * 2. Clear the Low Region for the next copy\n+\t\t\t */\n+\t\t\trc = ulp_ha_mgr_state_set(ulp_ctx,\n+\t\t\t\t\t\t  ULP_HA_STATE_SEC_TIMER_COPY);\n+\t\t\tif (rc) {\n+\t\t\t\tBNXT_TF_DBG(ERR,\n+\t\t\t\t\t    \"On HA CB:Failed(%d) to set state\\n\",\n+\t\t\t\t\t    rc);\n+\t\t\t\tgoto cb_restart;\n+\t\t\t}\n+\t\t\tcurr_state = ULP_HA_STATE_SEC_TIMER_COPY;\n+\t\t}\n+\t}\n+\n+\t/* Only the Secondary has work to on SEC_TIMER_COPY */\n+\tif (curr_state != ULP_HA_STATE_SEC_TIMER_COPY ||\n+\t    app_type != ULP_HA_APP_TYPE_SEC)\n \t\tgoto cb_restart;\n \n \t/* Protect the flow database during the copy */\n@@ -166,14 +272,19 @@ ulp_ha_mgr_timer_cb(void *arg __rte_unused)\n \t * move WC entries to Low Region.\n \t */\n \tBNXT_TF_DBG(INFO, \"On HA CB: Moving entries HI to LOW\\n\");\n-\tmparms.dir = TF_DIR_RX;\n-\tmparms.tcam_tbl_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH;\n-\ttfp = bnxt_ulp_cntxt_tfp_get(ulp_ctx, BNXT_ULP_SHARED_SESSION_YES);\n-\tif (tfp == NULL) {\n-\t\tBNXT_TF_DBG(ERR, \"On HA CB: Unable to get the TFP.\\n\");\n+\n+\tcparms.dir = TF_DIR_RX;\n+\tcparms.tcam_tbl_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW;\n+\trc = tf_clear_tcam_shared_entries(tfp, &cparms);\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR,\n+\t\t\t    \"On HA CB:Failed(%d) clear tcam low\\n\",\n+\t\t\t    rc);\n \t\tgoto unlock;\n \t}\n \n+\tmparms.dir = TF_DIR_RX;\n+\tmparms.tcam_tbl_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH;\n \trc = tf_move_tcam_shared_entries(tfp, &mparms);\n \tif (rc) {\n \t\tBNXT_TF_DBG(ERR, \"On HA_CB: Failed to move entries\\n\");\n@@ -186,8 +297,6 @@ ulp_ha_mgr_timer_cb(void *arg __rte_unused)\n \tBNXT_TF_DBG(INFO, \"On HA CB: SEC[SEC_TIMER_COPY] => PRIM[PRIM_RUN]\\n\");\n unlock:\n \tbnxt_ulp_cntxt_release_fdb_lock(ulp_ctx);\n-\tbnxt_ulp_cntxt_entry_release();\n-\treturn;\n cb_restart:\n \tbnxt_ulp_cntxt_entry_release();\n \tulp_ha_mgr_timer_start();\n@@ -202,18 +311,9 @@ ulp_ha_mgr_timer_start(void)\n }\n \n static void\n-ulp_ha_mgr_timer_cancel(struct bnxt_ulp_context *ulp_ctx)\n+ulp_ha_mgr_timer_cancel(void)\n {\n-\tstruct bnxt_ulp_ha_mgr_info *ha_info;\n-\n-\tha_info = bnxt_ulp_cntxt_ptr2_ha_info_get(ulp_ctx);\n-\tif (ha_info == NULL) {\n-\t\tBNXT_TF_DBG(ERR, \"Unable to get ha info\\n\");\n-\t\treturn;\n-\t}\n-\n-\tha_info->flags &= ~ULP_HA_TIMER_THREAD;\n-\trte_eal_alarm_cancel(ulp_ha_mgr_timer_cb, (void *)ulp_ctx);\n+\trte_eal_alarm_cancel(ulp_ha_mgr_timer_cb, (void *)NULL);\n }\n \n int32_t\n@@ -233,6 +333,11 @@ ulp_ha_mgr_init(struct bnxt_ulp_context *ulp_ctx)\n \t\tPMD_DRV_LOG(ERR, \"Failed to initialize ha mutex\\n\");\n \t\tgoto cleanup;\n \t}\n+\trc = ulp_ha_mgr_timer_start();\n+\tif (rc) {\n+\t\tBNXT_TF_DBG(ERR, \"Unable to start timer CB.\\n\");\n+\t\tgoto cleanup;\n+\t}\n \n \treturn 0;\n cleanup:\n@@ -246,6 +351,8 @@ ulp_ha_mgr_deinit(struct bnxt_ulp_context *ulp_ctx)\n {\n \tstruct bnxt_ulp_ha_mgr_info *ha_info;\n \n+\tulp_ha_mgr_timer_cancel();\n+\n \tha_info = bnxt_ulp_cntxt_ptr2_ha_info_get(ulp_ctx);\n \tif (ha_info == NULL) {\n \t\tBNXT_TF_DBG(ERR, \"Unable to get HA Info for deinit.\\n\");\n@@ -355,24 +462,10 @@ ulp_ha_mgr_open(struct bnxt_ulp_context *ulp_ctx)\n \t\t * The current primary is expected to eventually close and pass\n \t\t * full control to this system;however, until the primary closes\n \t\t * both are operational.\n-\t\t *\n-\t\t * The timer is started in order to determine when the\n-\t\t * primary has closed.\n \t\t */\n \t\tulp_ha_mgr_app_type_set(ulp_ctx, ULP_HA_APP_TYPE_SEC);\n \t\tulp_ha_mgr_region_set(ulp_ctx, ULP_HA_REGION_HI);\n \n-\t\t/*\n-\t\t * TODO:\n-\t\t * Clear the high region so the secondary can begin overriding\n-\t\t * the current entries.\n-\t\t */\n-\t\trc = ulp_ha_mgr_timer_start();\n-\t\tif (rc) {\n-\t\t\tBNXT_TF_DBG(ERR, \"Unable to start timer on HA Open.\\n\");\n-\t\t\treturn -EINVAL;\n-\t\t}\n-\n \t\trc = ulp_ha_mgr_state_set(ulp_ctx, ULP_HA_STATE_PRIM_SEC_RUN);\n \t\tif (rc) {\n \t\t\tBNXT_TF_DBG(ERR, \"On Open: Failed to set PRIM_SEC_RUN\\n\");\n@@ -396,6 +489,8 @@ ulp_ha_mgr_close(struct bnxt_ulp_context *ulp_ctx)\n \tint32_t timeout;\n \tint32_t rc;\n \n+\tcurr_state = ULP_HA_STATE_INIT;\n+\tapp_type = ULP_HA_APP_TYPE_NONE;\n \trc = ulp_ha_mgr_state_get(ulp_ctx, &curr_state);\n \tif (rc) {\n \t\tBNXT_TF_DBG(ERR, \"On Close: Failed(%d) to get HA state\\n\", rc);\n@@ -462,10 +557,8 @@ ulp_ha_mgr_close(struct bnxt_ulp_context *ulp_ctx)\n \t\t   app_type == ULP_HA_APP_TYPE_SEC) {\n \t\t/*\n \t\t * While both are running, the secondary unexpectedly received a\n-\t\t * close.  Cancel the timer, set the state to Primary RUN since\n-\t\t * it is the only one running.\n+\t\t * close.\n \t\t */\n-\t\tulp_ha_mgr_timer_cancel(ulp_ctx);\n \t\tulp_ha_mgr_state_set(ulp_ctx, ULP_HA_STATE_PRIM_RUN);\n \n \t\tBNXT_TF_DBG(INFO, \"On Close: SEC[PRIM_SEC_RUN] => [PRIM_RUN]\\n\");\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\nindex 05a43b6dc5..acd9f996e8 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n@@ -20,6 +20,7 @@\n #include \"ulp_template_db_tbl.h\"\n #include \"ulp_port_db.h\"\n #include \"ulp_ha_mgr.h\"\n+#include \"bnxt_tf_pmd_shim.h\"\n \n static uint8_t mapper_fld_zeros[16] = { 0 };\n \n@@ -996,13 +997,13 @@ ulp_mapper_field_src_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\treturn -EINVAL;\n \t\t}\n \t\tidx = tfp_be_to_cpu_16(idx);\n-\t\tif (idx >= BNXT_ULP_CF_IDX_LAST || bytelen > sizeof(uint32_t)) {\n+\t\tif (idx >= BNXT_ULP_CF_IDX_LAST || bytelen > sizeof(uint64_t)) {\n \t\t\tBNXT_TF_DBG(ERR, \"comp field [%d] read oob %d\\n\", idx,\n \t\t\t\t    bytelen);\n \t\t\treturn -EINVAL;\n \t\t}\n \t\tbuffer = (uint8_t *)&parms->comp_fld[idx];\n-\t\t*val = &buffer[sizeof(uint32_t) - bytelen];\n+\t\t*val = &buffer[sizeof(uint64_t) - bytelen];\n \t\t*value = ULP_COMP_FLD_IDX_RD(parms, idx);\n \t\tbreak;\n \tcase BNXT_ULP_FIELD_SRC_RF:\n@@ -3177,109 +3178,141 @@ ulp_mapper_cond_opc_process(struct bnxt_ulp_mapper_parms *parms,\n }\n \n static int32_t\n-ulp_mapper_cc_upd_opr_compute(struct bnxt_ulp_mapper_parms *parms,\n-\t\t\t      enum tf_dir dir,\n-\t\t\t      enum bnxt_ulp_cc_upd_src cc_src,\n-\t\t\t      uint16_t cc_opr,\n-\t\t\t      uint64_t *result)\n+ulp_mapper_func_opr_compute(struct bnxt_ulp_mapper_parms *parms,\n+\t\t\t    enum tf_dir dir,\n+\t\t\t    enum bnxt_ulp_func_src func_src,\n+\t\t\t    uint16_t func_opr,\n+\t\t\t    uint64_t *result)\n {\n \tuint64_t regval;\n \tbool shared;\n \n \t*result =  false;\n-\tswitch (cc_src) {\n-\tcase BNXT_ULP_CC_UPD_SRC_COMP_FIELD:\n-\t\tif (cc_opr >= BNXT_ULP_CF_IDX_LAST) {\n-\t\t\tBNXT_TF_DBG(ERR, \"invalid index %u\\n\", cc_opr);\n+\tswitch (func_src) {\n+\tcase BNXT_ULP_FUNC_SRC_COMP_FIELD:\n+\t\tif (func_opr >= BNXT_ULP_CF_IDX_LAST) {\n+\t\t\tBNXT_TF_DBG(ERR, \"invalid index %u\\n\", func_opr);\n \t\t\treturn -EINVAL;\n \t\t}\n-\t\t*result = (uint64_t)ULP_COMP_FLD_IDX_RD(parms, cc_opr);\n+\t\t*result = ULP_COMP_FLD_IDX_RD(parms, func_opr);\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_SRC_REGFILE:\n-\t\tif (!ulp_regfile_read(parms->regfile, cc_opr, &regval)) {\n-\t\t\tBNXT_TF_DBG(ERR, \"regfile[%d] read oob\\n\", cc_opr);\n+\tcase BNXT_ULP_FUNC_SRC_REGFILE:\n+\t\tif (!ulp_regfile_read(parms->regfile, func_opr, &regval)) {\n+\t\t\tBNXT_TF_DBG(ERR, \"regfile[%d] read oob\\n\", func_opr);\n \t\t\treturn -EINVAL;\n \t\t}\n \t\t*result = tfp_be_to_cpu_64(regval);\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_SRC_GLB_REGFILE:\n+\tcase BNXT_ULP_FUNC_SRC_GLB_REGFILE:\n \t\tif (ulp_mapper_glb_resource_read(parms->mapper_data, dir,\n-\t\t\t\t\t\t cc_opr, &regval, &shared)) {\n+\t\t\t\t\t\t func_opr, &regval, &shared)) {\n \t\t\tBNXT_TF_DBG(ERR, \"global regfile[%d] read failed.\\n\",\n-\t\t\t\t    cc_opr);\n+\t\t\t\t    func_opr);\n \t\t\treturn -EINVAL;\n \t\t}\n \t\t*result = tfp_be_to_cpu_64(regval);\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_SRC_CONST:\n-\t\t*result = cc_opr;\n+\tcase BNXT_ULP_FUNC_SRC_CONST:\n+\t\t*result = func_opr;\n \t\tbreak;\n \tdefault:\n-\t\tBNXT_TF_DBG(ERR, \"invalid src code %u\\n\", cc_src);\n+\t\tBNXT_TF_DBG(ERR, \"invalid src code %u\\n\", func_src);\n \t\treturn -EINVAL;\n \t}\n \treturn 0;\n }\n \n static int32_t\n-ulp_mapper_cc_upd_info_process(struct bnxt_ulp_mapper_parms *parms,\n-\t\t\t       struct bnxt_ulp_mapper_tbl_info *tbl)\n+ulp_mapper_func_info_process(struct bnxt_ulp_mapper_parms *parms,\n+\t\t\t     struct bnxt_ulp_mapper_tbl_info *tbl)\n {\n-\tstruct bnxt_ulp_mapper_cc_upd_info *cc_upd = &tbl->cc_upd_info;\n-\tuint64_t res = 0, res1, res2;\n+\tstruct bnxt_ulp_mapper_func_info *func_info = &tbl->func_info;\n+\tuint64_t res = 0, res1 = 0, res2 = 0;\n \tint32_t rc = 0;\n+\tuint32_t process_src1 = 0, process_src2 = 0;\n \n-\tif (cc_upd->cc_opc == BNXT_ULP_CC_UPD_OPC_NOP)\n+\t/* determine which functional operands to compute */\n+\tswitch (func_info->func_opc) {\n+\tcase BNXT_ULP_FUNC_OPC_NOP:\n \t\treturn rc;\n+\tcase BNXT_ULP_FUNC_OPC_EQ:\n+\tcase BNXT_ULP_FUNC_OPC_NE:\n+\tcase BNXT_ULP_FUNC_OPC_GE:\n+\tcase BNXT_ULP_FUNC_OPC_GT:\n+\tcase BNXT_ULP_FUNC_OPC_LE:\n+\tcase BNXT_ULP_FUNC_OPC_LT:\n+\t\tprocess_src1 = 1;\n+\t\tprocess_src2 = 1;\n+\t\tbreak;\n+\tcase BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF:\n+\t\tprocess_src1 = 1;\n+\t\tbreak;\n+\tdefault:\n+\t\tbreak;\n+\t}\n \n-\trc = ulp_mapper_cc_upd_opr_compute(parms, tbl->direction,\n-\t\t\t\t\t   cc_upd->cc_src1,\n-\t\t\t\t\t   cc_upd->cc_opr1, &res1);\n-\tif (rc)\n-\t\treturn rc;\n+\tif (process_src1) {\n+\t\trc = ulp_mapper_func_opr_compute(parms, tbl->direction,\n+\t\t\t\t\t\t func_info->func_src1,\n+\t\t\t\t\t\t func_info->func_opr1, &res1);\n+\t\tif (rc)\n+\t\t\treturn rc;\n+\t}\n \n-\trc = ulp_mapper_cc_upd_opr_compute(parms, tbl->direction,\n-\t\t\t\t\t   cc_upd->cc_src2,\n-\t\t\t\t\t   cc_upd->cc_opr2, &res2);\n-\tif (rc)\n-\t\treturn rc;\n+\tif (process_src2) {\n+\t\trc = ulp_mapper_func_opr_compute(parms, tbl->direction,\n+\t\t\t\t\t\t func_info->func_src2,\n+\t\t\t\t\t\t func_info->func_opr2, &res2);\n+\t\tif (rc)\n+\t\t\treturn rc;\n+\t}\n \n-\tswitch (cc_upd->cc_opc) {\n-\tcase BNXT_ULP_CC_UPD_OPC_NOP:\n-\t\tres = 1;\n-\t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_OPC_EQ:\n+\t/* perform the functional opcode operations */\n+\tswitch (func_info->func_opc) {\n+\tcase BNXT_ULP_FUNC_OPC_EQ:\n \t\tif (res1 == res2)\n \t\t\tres = 1;\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_OPC_NE:\n+\tcase BNXT_ULP_FUNC_OPC_NE:\n \t\tif (res1 != res2)\n \t\t\tres = 1;\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_OPC_GE:\n+\tcase BNXT_ULP_FUNC_OPC_GE:\n \t\tif (res1 >= res2)\n \t\t\tres = 1;\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_OPC_GT:\n+\tcase BNXT_ULP_FUNC_OPC_GT:\n \t\tif (res1 > res2)\n \t\t\tres = 1;\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_OPC_LE:\n+\tcase BNXT_ULP_FUNC_OPC_LE:\n \t\tif (res1 <= res2)\n \t\t\tres = 1;\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_OPC_LT:\n+\tcase BNXT_ULP_FUNC_OPC_LT:\n \t\tif (res1 < res2)\n \t\t\tres = 1;\n \t\tbreak;\n-\tcase BNXT_ULP_CC_UPD_OPC_LAST:\n-\t\tBNXT_TF_DBG(ERR, \"invalid code %u\\n\", cc_upd->cc_opc);\n+\tcase BNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF:\n+\t\tres = res1;\n+\t\tbreak;\n+\tcase BNXT_ULP_FUNC_OPC_RSS_CONFIG:\n+\t\t/* apply the rss config using pmd method */\n+\t\treturn bnxt_rss_config_action_apply(parms);\n+\tcase BNXT_ULP_FUNC_OPC_GET_PARENT_MAC_ADDR:\n+\t\trc = bnxt_pmd_get_parent_mac_addr(parms, (uint8_t *)&res);\n+\t\tif (rc)\n+\t\t\treturn -EINVAL;\n+\t\tres = tfp_be_to_cpu_64(res);\n+\t\tbreak;\n+\tdefault:\n+\t\tBNXT_TF_DBG(ERR, \"invalid func code %u\\n\", func_info->func_opc);\n \t\treturn -EINVAL;\n \t}\n-\tif (ulp_regfile_write(parms->regfile, cc_upd->cc_dst_opr,\n+\tif (ulp_regfile_write(parms->regfile, func_info->func_dst_opr,\n \t\t\t      tfp_cpu_to_be_64(res))) {\n-\t\tBNXT_TF_DBG(ERR, \"Failed write the cc_opc %u\\n\",\n-\t\t\t    cc_upd->cc_dst_opr);\n+\t\tBNXT_TF_DBG(ERR, \"Failed write the func_opc %u\\n\",\n+\t\t\t    func_info->func_dst_opr);\n \t\treturn -EINVAL;\n \t}\n \n@@ -3366,7 +3399,7 @@ ulp_mapper_conflict_resolution_process(struct bnxt_ulp_mapper_parms *parms,\n {\n \tint32_t rc = 0;\n \tuint64_t regval;\n-\tuint64_t comp_sig_id;\n+\tuint64_t comp_sig;\n \n \t*res = 0;\n \tswitch (tbl->accept_opcode) {\n@@ -3399,14 +3432,14 @@ ulp_mapper_conflict_resolution_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\t\t    BNXT_ULP_RF_IDX_FLOW_SIG_ID);\n \t\t\treturn -EINVAL;\n \t\t}\n-\t\tcomp_sig_id = ULP_COMP_FLD_IDX_RD(parms,\n-\t\t\t\t\t\t  BNXT_ULP_CF_IDX_FLOW_SIG_ID);\n+\t\tcomp_sig = ULP_COMP_FLD_IDX_RD(parms,\n+\t\t\t\t\t       BNXT_ULP_CF_IDX_FLOW_SIG_ID);\n \t\tregval = tfp_be_to_cpu_64(regval);\n-\t\tif (comp_sig_id == regval)\n+\t\tif (comp_sig == regval)\n \t\t\t*res = 1;\n \t\telse\n-\t\t\tBNXT_TF_DBG(ERR, \"failed signature match %x:%x\\n\",\n-\t\t\t\t    (uint32_t)comp_sig_id, (uint32_t)regval);\n+\t\t\tBNXT_TF_DBG(ERR, \"failed signature match 0x%016\"\n+\t\t\t\t    PRIX64 \":%x\\n\", comp_sig, (uint32_t)regval);\n \t\tbreak;\n \tdefault:\n \t\tBNXT_TF_DBG(ERR, \"Invalid accept opcode %d\\n\",\n@@ -3462,8 +3495,9 @@ ulp_mapper_tbls_process(struct bnxt_ulp_mapper_parms *parms, uint32_t tid)\n \n \tfor (tbl_idx = 0; tbl_idx < num_tbls && cond_goto;) {\n \t\ttbl = &tbls[tbl_idx];\n-\t\t/* Process the conditional code update opcodes */\n-\t\tif (ulp_mapper_cc_upd_info_process(parms, tbl)) {\n+\t\tcond_goto = tbl->execute_info.cond_true_goto;\n+\t\t/* Process the conditional func code opcodes */\n+\t\tif (ulp_mapper_func_info_process(parms, tbl)) {\n \t\t\tBNXT_TF_DBG(ERR, \"Failed to process cond update\\n\");\n \t\t\trc = -EINVAL;\n \t\t\tgoto error;\n@@ -3758,6 +3792,7 @@ ulp_mapper_flow_create(struct bnxt_ulp_context *ulp_ctx,\n \tparms.flow_pattern_id = cparms->flow_pattern_id;\n \tparms.act_pattern_id = cparms->act_pattern_id;\n \tparms.app_id = cparms->app_id;\n+\tparms.port_id = cparms->port_id;\n \n \t/* Get the device id from the ulp context */\n \tif (bnxt_ulp_cntxt_dev_id_get(ulp_ctx, &parms.dev_id)) {\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.h b/drivers/net/bnxt/tf_ulp/ulp_mapper.h\nindex 4c5dd4b836..004e89ac2b 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mapper.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.h\n@@ -46,7 +46,7 @@ struct bnxt_ulp_mapper_parms {\n \tstruct ulp_rte_hdr_bitmap\t\t*hdr_bitmap;\n \tstruct ulp_rte_hdr_field\t\t*hdr_field;\n \tstruct ulp_rte_field_bitmap\t\t*fld_bitmap;\n-\tuint32_t\t\t\t\t*comp_fld;\n+\tuint64_t\t\t\t\t*comp_fld;\n \tstruct ulp_regfile\t\t\t*regfile;\n \tstruct bnxt_ulp_context\t\t\t*ulp_ctx;\n \tuint32_t\t\t\t\tfid;\n@@ -61,13 +61,14 @@ struct bnxt_ulp_mapper_parms {\n \tuint32_t\t\t\t\tflow_pattern_id;\n \tuint32_t\t\t\t\tact_pattern_id;\n \tuint8_t\t\t\t\t\tapp_id;\n+\tuint16_t\t\t\t\tport_id;\n };\n \n struct bnxt_ulp_mapper_create_parms {\n \tuint32_t\t\t\tapp_priority;\n \tstruct ulp_rte_hdr_bitmap\t*hdr_bitmap;\n \tstruct ulp_rte_hdr_field\t*hdr_field;\n-\tuint32_t\t\t\t*comp_fld;\n+\tuint64_t\t\t\t*comp_fld;\n \tstruct ulp_rte_act_bitmap\t*act;\n \tstruct ulp_rte_act_prop\t\t*act_prop;\n \tstruct ulp_rte_field_bitmap\t*fld_bitmap;\n@@ -89,6 +90,7 @@ struct bnxt_ulp_mapper_create_parms {\n \tuint32_t\t\t\tflow_pattern_id;\n \tuint32_t\t\t\tact_pattern_id;\n \tuint8_t\t\t\t\tapp_id;\n+\tuint16_t\t\t\tport_id;\n };\n \n /* Function to initialize any dynamic mapper data. */\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_port_db.c b/drivers/net/bnxt/tf_ulp/ulp_port_db.c\nindex 96fc456d4c..4045473097 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_port_db.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_port_db.c\n@@ -9,6 +9,7 @@\n #include \"bnxt_tf_common.h\"\n #include \"ulp_port_db.h\"\n #include \"tfp.h\"\n+#include \"bnxt_tf_pmd_shim.h\"\n \n static uint32_t\n ulp_port_db_allocate_ifindex(struct bnxt_ulp_port_db *port_db)\n@@ -148,57 +149,57 @@ int32_t\tulp_port_db_dev_port_intf_update(struct bnxt_ulp_context *ulp_ctxt,\n \t/* update the interface details */\n \tintf = &port_db->ulp_intf_list[ifindex];\n \n-\tintf->type = bnxt_get_interface_type(port_id);\n-\tintf->drv_func_id = bnxt_get_fw_func_id(port_id,\n-\t\t\t\t\t\tBNXT_ULP_INTF_TYPE_INVALID);\n+\tintf->type = bnxt_pmd_get_interface_type(port_id);\n+\tintf->drv_func_id = bnxt_pmd_get_fw_func_id(port_id,\n+\t\t\t\t\t\t    BNXT_ULP_INTF_TYPE_INVALID);\n \n \tfunc = &port_db->ulp_func_id_tbl[intf->drv_func_id];\n \tif (!func->func_valid) {\n-\t\tfunc->func_svif = bnxt_get_svif(port_id, true,\n-\t\t\t\t\t\tBNXT_ULP_INTF_TYPE_INVALID);\n-\t\tfunc->func_spif = bnxt_get_phy_port_id(port_id);\n+\t\tfunc->func_svif = bnxt_pmd_get_svif(port_id, true,\n+\t\t\t\t\t\t    BNXT_ULP_INTF_TYPE_INVALID);\n+\t\tfunc->func_spif = bnxt_pmd_get_phy_port_id(port_id);\n \t\tfunc->func_parif =\n-\t\t\tbnxt_get_parif(port_id, BNXT_ULP_INTF_TYPE_INVALID);\n+\t\t\tbnxt_pmd_get_parif(port_id, BNXT_ULP_INTF_TYPE_INVALID);\n \t\tfunc->func_vnic =\n-\t\t\tbnxt_get_vnic_id(port_id, BNXT_ULP_INTF_TYPE_INVALID);\n-\t\tfunc->phy_port_id = bnxt_get_phy_port_id(port_id);\n+\t\t\tbnxt_pmd_get_vnic_id(port_id, BNXT_ULP_INTF_TYPE_INVALID);\n+\t\tfunc->phy_port_id = bnxt_pmd_get_phy_port_id(port_id);\n \t\tfunc->func_valid = true;\n \t\tfunc->ifindex = ifindex;\n \t}\n \n \tif (intf->type == BNXT_ULP_INTF_TYPE_VF_REP) {\n \t\tintf->vf_func_id =\n-\t\t\tbnxt_get_fw_func_id(port_id, BNXT_ULP_INTF_TYPE_VF_REP);\n+\t\t\tbnxt_pmd_get_fw_func_id(port_id, BNXT_ULP_INTF_TYPE_VF_REP);\n \n \t\tfunc = &port_db->ulp_func_id_tbl[intf->vf_func_id];\n \t\tfunc->func_svif =\n-\t\t\tbnxt_get_svif(port_id, true, BNXT_ULP_INTF_TYPE_VF_REP);\n+\t\t\tbnxt_pmd_get_svif(port_id, true, BNXT_ULP_INTF_TYPE_VF_REP);\n \t\tfunc->func_spif =\n-\t\t\tbnxt_get_phy_port_id(port_id);\n+\t\t\tbnxt_pmd_get_phy_port_id(port_id);\n \t\tfunc->func_parif =\n-\t\t\tbnxt_get_parif(port_id, BNXT_ULP_INTF_TYPE_INVALID);\n+\t\t\tbnxt_pmd_get_parif(port_id, BNXT_ULP_INTF_TYPE_INVALID);\n \t\tfunc->func_vnic =\n-\t\t\tbnxt_get_vnic_id(port_id, BNXT_ULP_INTF_TYPE_VF_REP);\n-\t\tfunc->phy_port_id = bnxt_get_phy_port_id(port_id);\n+\t\t\tbnxt_pmd_get_vnic_id(port_id, BNXT_ULP_INTF_TYPE_VF_REP);\n+\t\tfunc->phy_port_id = bnxt_pmd_get_phy_port_id(port_id);\n \t\tfunc->ifindex = ifindex;\n \t}\n \n \t/* When there is no match, the default action is to send the packet to\n \t * the kernel. And to send it to the kernel, we need the PF's vnic id.\n \t */\n-\tfunc->func_parent_vnic = bnxt_get_parent_vnic_id(port_id, intf->type);\n+\tfunc->func_parent_vnic = bnxt_pmd_get_parent_vnic_id(port_id, intf->type);\n \tfunc->func_parent_vnic = tfp_cpu_to_be_16(func->func_parent_vnic);\n-\tbnxt_get_iface_mac(port_id, intf->type, func->func_mac,\n+\tbnxt_pmd_get_iface_mac(port_id, intf->type, func->func_mac,\n \t\t\t   func->func_parent_mac);\n \n \tport_data = &port_db->phy_port_list[func->phy_port_id];\n \tif (!port_data->port_valid) {\n \t\tport_data->port_svif =\n-\t\t\tbnxt_get_svif(port_id, false, BNXT_ULP_INTF_TYPE_INVALID);\n-\t\tport_data->port_spif = bnxt_get_phy_port_id(port_id);\n+\t\t\tbnxt_pmd_get_svif(port_id, false, BNXT_ULP_INTF_TYPE_INVALID);\n+\t\tport_data->port_spif = bnxt_pmd_get_phy_port_id(port_id);\n \t\tport_data->port_parif =\n-\t\t\tbnxt_get_parif(port_id, BNXT_ULP_INTF_TYPE_INVALID);\n-\t\tport_data->port_vport = bnxt_get_vport(port_id);\n+\t\t\tbnxt_pmd_get_parif(port_id, BNXT_ULP_INTF_TYPE_INVALID);\n+\t\tport_data->port_vport = bnxt_pmd_get_vport(port_id);\n \t\tport_data->port_valid = true;\n \t}\n \treturn 0;\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c\nindex b8e69ffd1e..5fd52b8f36 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c\n@@ -201,8 +201,7 @@ bnxt_ulp_comp_fld_intf_update(struct ulp_rte_parser_params *params)\n \tdir = ULP_COMP_FLD_IDX_RD(params, BNXT_ULP_CF_IDX_DIRECTION);\n \n \t/* read the port id details */\n-\tport_id = ULP_COMP_FLD_IDX_RD(params,\n-\t\t\t\t      BNXT_ULP_CF_IDX_INCOMING_IF);\n+\tport_id = ULP_COMP_FLD_IDX_RD(params, BNXT_ULP_CF_IDX_INCOMING_IF);\n \tif (ulp_port_db_dev_port_to_ulp_index(params->ulp_ctx,\n \t\t\t\t\t      port_id,\n \t\t\t\t\t      &ifindex)) {\n@@ -856,7 +855,7 @@ ulp_rte_vlan_hdr_handler(const struct rte_flow_item *item,\n \t\t\t       BNXT_ULP_HDR_BIT_II_VLAN);\n \t\tinner_flag = 1;\n \t} else {\n-\t\tBNXT_TF_DBG(ERR, \"Error Parsing:Vlan hdr found withtout eth\\n\");\n+\t\tBNXT_TF_DBG(ERR, \"Error Parsing:Vlan hdr found without eth\\n\");\n \t\treturn BNXT_TF_RC_ERROR;\n \t}\n \t/* Update the field protocol hdr bitmap */\n@@ -1691,15 +1690,34 @@ int32_t\n ulp_rte_rss_act_handler(const struct rte_flow_action *action_item,\n \t\t\tstruct ulp_rte_parser_params *param)\n {\n-\tconst struct rte_flow_action_rss *rss = action_item->conf;\n+\tconst struct rte_flow_action_rss *rss;\n+\tstruct ulp_rte_act_prop *ap = &param->act_prop;\n \n-\tif (rss) {\n-\t\t/* Update the hdr_bitmap with vxlan */\n-\t\tULP_BITMAP_SET(param->act_bitmap.bits, BNXT_ULP_ACT_BIT_RSS);\n-\t\treturn BNXT_TF_RC_SUCCESS;\n+\tif (action_item == NULL || action_item->conf == NULL) {\n+\t\tBNXT_TF_DBG(ERR, \"Parse Err: invalid rss configuration\\n\");\n+\t\treturn BNXT_TF_RC_ERROR;\n \t}\n-\tBNXT_TF_DBG(ERR, \"Parse Error: RSS arg is invalid\\n\");\n-\treturn BNXT_TF_RC_ERROR;\n+\n+\trss = action_item->conf;\n+\t/* Copy the rss into the specific action properties */\n+\tmemcpy(&ap->act_details[BNXT_ULP_ACT_PROP_IDX_RSS_TYPES], &rss->types,\n+\t       BNXT_ULP_ACT_PROP_SZ_RSS_TYPES);\n+\tmemcpy(&ap->act_details[BNXT_ULP_ACT_PROP_IDX_RSS_LEVEL], &rss->level,\n+\t       BNXT_ULP_ACT_PROP_SZ_RSS_LEVEL);\n+\tmemcpy(&ap->act_details[BNXT_ULP_ACT_PROP_IDX_RSS_KEY_LEN],\n+\t       &rss->key_len, BNXT_ULP_ACT_PROP_SZ_RSS_KEY_LEN);\n+\n+\tif (rss->key_len > BNXT_ULP_ACT_PROP_SZ_RSS_KEY) {\n+\t\tBNXT_TF_DBG(ERR, \"Parse Err: RSS key too big\\n\");\n+\t\treturn BNXT_TF_RC_ERROR;\n+\t}\n+\tmemcpy(&ap->act_details[BNXT_ULP_ACT_PROP_IDX_RSS_KEY], rss->key,\n+\t       rss->key_len);\n+\n+\t/* set the RSS action header bit */\n+\tULP_BITMAP_SET(param->act_bitmap.bits, BNXT_ULP_ACT_BIT_RSS);\n+\n+\treturn BNXT_TF_RC_SUCCESS;\n }\n \n /* Function to handle the parsing of RTE Flow action vxlan_encap Header. */\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h\nindex bbba10108c..4431f1bbd0 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.h\n@@ -24,7 +24,7 @@\n #define BNXT_ULP_ENCAP_IPV6_DO\t\t\t2\n #define BNXT_ULP_ENCAP_IPV6_SIZE\t\t24\n #define BNXT_ULP_ENCAP_UDP_SIZE\t\t\t4\n-#define BNXT_ULP_INVALID_SVIF_VAL\t\t-1U\n+#define BNXT_ULP_INVALID_SVIF_VAL\t\t-1UL\n \n #define\tBNXT_ULP_GET_IPV6_VER(vtcf)\t\t\\\n \t\t\t(((vtcf) & BNXT_ULP_PARSER_IPV6_VER_MASK) >> 28)\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 8cbbe203a8..a38fddafdb 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@@ -3,7 +3,7 @@\n  * All rights reserved.\n  */\n \n-/* date: Sun Mar 21 13:04:51 2021 */\n+/* date: Wed Apr 14 09:56:27 2021 */\n \n #ifndef ULP_TEMPLATE_DB_H_\n #define ULP_TEMPLATE_DB_H_\n@@ -28,7 +28,7 @@\n #define BNXT_ULP_ACT_HID_MASK 2047\n #define BNXT_ULP_APP_RESOURCE_RESV_LIST_MAX_SZ 4\n #define BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ 33\n-#define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 26\n+#define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 38\n #define BNXT_ULP_RESOURCE_RESV_LIST_MAX_SZ 205\n #define BNXT_ULP_APP_CAP_TBL_MAX_SZ 6\n #define BNXT_ULP_COND_GOTO_REJECT 1023\n@@ -113,8 +113,7 @@ enum bnxt_ulp_hdr_bit {\n \tBNXT_ULP_HDR_BIT_I_UDP               = 0x0000000000010000,\n \tBNXT_ULP_HDR_BIT_I_ICMP              = 0x0000000000020000,\n \tBNXT_ULP_HDR_BIT_F1                  = 0x0000000000040000,\n-\tBNXT_ULP_HDR_BIT_ANY                 = 0x0000000000080000,\n-\tBNXT_ULP_HDR_BIT_LAST                = 0x0000000000100000\n+\tBNXT_ULP_HDR_BIT_LAST                = 0x0000000000080000\n };\n \n enum bnxt_ulp_accept_opc {\n@@ -136,25 +135,6 @@ enum bnxt_ulp_byte_order {\n \tBNXT_ULP_BYTE_ORDER_LAST = 2\n };\n \n-enum bnxt_ulp_cc_upd_opc {\n-\tBNXT_ULP_CC_UPD_OPC_NOP = 0,\n-\tBNXT_ULP_CC_UPD_OPC_EQ = 1,\n-\tBNXT_ULP_CC_UPD_OPC_NE = 2,\n-\tBNXT_ULP_CC_UPD_OPC_GT = 3,\n-\tBNXT_ULP_CC_UPD_OPC_GE = 4,\n-\tBNXT_ULP_CC_UPD_OPC_LT = 5,\n-\tBNXT_ULP_CC_UPD_OPC_LE = 6,\n-\tBNXT_ULP_CC_UPD_OPC_LAST = 7\n-};\n-\n-enum bnxt_ulp_cc_upd_src {\n-\tBNXT_ULP_CC_UPD_SRC_REGFILE = 0,\n-\tBNXT_ULP_CC_UPD_SRC_GLB_REGFILE = 1,\n-\tBNXT_ULP_CC_UPD_SRC_COMP_FIELD = 2,\n-\tBNXT_ULP_CC_UPD_SRC_CONST = 3,\n-\tBNXT_ULP_CC_UPD_SRC_LAST = 4\n-};\n-\n enum bnxt_ulp_cf_idx {\n \tBNXT_ULP_CF_IDX_NOT_USED = 0,\n \tBNXT_ULP_CF_IDX_MPLS_TAG_NUM = 1,\n@@ -323,6 +303,28 @@ enum bnxt_ulp_field_src {\n \tBNXT_ULP_FIELD_SRC_LAST = 16\n };\n \n+enum bnxt_ulp_func_opc {\n+\tBNXT_ULP_FUNC_OPC_NOP = 0,\n+\tBNXT_ULP_FUNC_OPC_EQ = 1,\n+\tBNXT_ULP_FUNC_OPC_NE = 2,\n+\tBNXT_ULP_FUNC_OPC_GT = 3,\n+\tBNXT_ULP_FUNC_OPC_GE = 4,\n+\tBNXT_ULP_FUNC_OPC_LT = 5,\n+\tBNXT_ULP_FUNC_OPC_LE = 6,\n+\tBNXT_ULP_FUNC_OPC_COPY_SRC1_TO_RF = 7,\n+\tBNXT_ULP_FUNC_OPC_RSS_CONFIG = 8,\n+\tBNXT_ULP_FUNC_OPC_GET_PARENT_MAC_ADDR = 9,\n+\tBNXT_ULP_FUNC_OPC_LAST = 10\n+};\n+\n+enum bnxt_ulp_func_src {\n+\tBNXT_ULP_FUNC_SRC_REGFILE = 0,\n+\tBNXT_ULP_FUNC_SRC_GLB_REGFILE = 1,\n+\tBNXT_ULP_FUNC_SRC_COMP_FIELD = 2,\n+\tBNXT_ULP_FUNC_SRC_CONST = 3,\n+\tBNXT_ULP_FUNC_SRC_LAST = 4\n+};\n+\n enum bnxt_ulp_generic_tbl_lkup_type {\n \tBNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX = 0,\n \tBNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH = 1,\n@@ -344,17 +346,22 @@ enum bnxt_ulp_glb_rf_idx {\n \tBNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID = 4,\n \tBNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR = 5,\n \tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 = 6,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 = 7,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 = 8,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0 = 9,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_1 = 10,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 = 11,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 = 12,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0 = 13,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_1 = 14,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 = 15,\n-\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1 = 16,\n-\tBNXT_ULP_GLB_RF_IDX_LAST = 17\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 = 7,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_2 = 8,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 = 9,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 = 10,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0 = 11,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_1 = 12,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 = 13,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 = 14,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 = 15,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0 = 16,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_1 = 17,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 = 18,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1 = 19,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0 = 20,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1 = 21,\n+\tBNXT_ULP_GLB_RF_IDX_LAST = 22\n };\n \n enum bnxt_ulp_hdr_type {\n@@ -465,7 +472,7 @@ enum bnxt_ulp_rf_idx {\n \tBNXT_ULP_RF_IDX_DEFAULT_AREC_PTR = 36,\n \tBNXT_ULP_RF_IDX_CC = 37,\n \tBNXT_ULP_RF_IDX_CF_FLOW_SIG_ID = 38,\n-\tBNXT_ULP_RF_IDX_PHY_PORT_VPORT = 39,\n+\tBNXT_ULP_RF_IDX_PHY_PORT = 39,\n \tBNXT_ULP_RF_IDX_LAST = 40\n };\n \n@@ -492,7 +499,8 @@ enum bnxt_ulp_template_type {\n \n enum bnxt_ulp_app_cap {\n \tBNXT_ULP_APP_CAP_SHARED_EN = 0x00000001,\n-\tBNXT_ULP_APP_CAP_HOT_UPGRADE_EN = 0x00000002\n+\tBNXT_ULP_APP_CAP_HOT_UPGRADE_EN = 0x00000002,\n+\tBNXT_ULP_APP_CAP_UNICAST_ONLY = 0x00000004\n };\n \n enum bnxt_ulp_fdb_resource_flags {\n@@ -578,7 +586,10 @@ enum bnxt_ulp_act_prop_sz {\n \tBNXT_ULP_ACT_PROP_SZ_ENCAP_TUN = 32,\n \tBNXT_ULP_ACT_PROP_SZ_JUMP = 4,\n \tBNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE = 8,\n-\tBNXT_ULP_ACT_PROP_SZ_RSS = 64,\n+\tBNXT_ULP_ACT_PROP_SZ_RSS_TYPES = 8,\n+\tBNXT_ULP_ACT_PROP_SZ_RSS_LEVEL = 4,\n+\tBNXT_ULP_ACT_PROP_SZ_RSS_KEY_LEN = 4,\n+\tBNXT_ULP_ACT_PROP_SZ_RSS_KEY = 40,\n \tBNXT_ULP_ACT_PROP_SZ_LAST = 4\n };\n \n@@ -625,8 +636,11 @@ enum bnxt_ulp_act_prop_idx {\n \tBNXT_ULP_ACT_PROP_IDX_ENCAP_TUN = 225,\n \tBNXT_ULP_ACT_PROP_IDX_JUMP = 257,\n \tBNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE = 261,\n-\tBNXT_ULP_ACT_PROP_IDX_RSS = 269,\n-\tBNXT_ULP_ACT_PROP_IDX_LAST = 333\n+\tBNXT_ULP_ACT_PROP_IDX_RSS_TYPES = 269,\n+\tBNXT_ULP_ACT_PROP_IDX_RSS_LEVEL = 277,\n+\tBNXT_ULP_ACT_PROP_IDX_RSS_KEY_LEN = 281,\n+\tBNXT_ULP_ACT_PROP_IDX_RSS_KEY = 285,\n+\tBNXT_ULP_ACT_PROP_IDX_LAST = 325\n };\n \n enum ulp_wp_sym {\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 be7914a5cd..7573cf6074 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@@ -3,7 +3,7 @@\n  * All rights reserved.\n  */\n \n-/* date: Sun Mar 21 13:04:51 2021 */\n+/* date: Wed Apr 14 09:56:27 2021 */\n \n #include \"ulp_template_db_enum.h\"\n #include \"ulp_template_db_field.h\"\n@@ -77,7 +77,7 @@ struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {\n \t.name                    = \"INGRESS GENERIC_TABLE_MAC_ADDR_CACHE\",\n \t.result_num_entries      = 256,\n \t.result_num_bytes        = 8,\n-\t.key_num_bytes           = 9,\n+\t.key_num_bytes           = 10,\n \t.num_buckets             = 8,\n \t.hash_tbl_entries        = 1024,\n \t.result_byte_order       = BNXT_ULP_BYTE_ORDER_LE\n@@ -87,7 +87,7 @@ struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = {\n \t.name                    = \"EGRESS GENERIC_TABLE_MAC_ADDR_CACHE\",\n \t.result_num_entries      = 256,\n \t.result_num_bytes        = 8,\n-\t.key_num_bytes           = 9,\n+\t.key_num_bytes           = 10,\n \t.num_buckets             = 8,\n \t.hash_tbl_entries        = 1024,\n \t.result_byte_order       = BNXT_ULP_BYTE_ORDER_LE\n@@ -202,7 +202,7 @@ struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {\n \t.ext_flow_db_num_entries = 32768,\n \t.mark_db_lfid_entries    = 0,\n \t.mark_db_gfid_entries    = 0,\n-\t.flow_count_db_entries   = 0,\n+\t.flow_count_db_entries   = 16384,\n \t.fdb_parent_flow_entries = 2,\n \t.num_resources_per_flow  = 8,\n \t.num_phy_ports           = 2,\n@@ -217,7 +217,7 @@ struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {\n \t.em_key_align_bytes      = 80,\n \t.wc_slice_width          = 160,\n \t.wc_max_slices           = 4,\n-\t.wc_mode_list        = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f},\n+\t.wc_mode_list       = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f},\n \t.wc_mod_list_max_size    = 4,\n \t.wc_ctl_size_bits        = 32,\n \t.dev_tbls                = ulp_template_thor_tbls\n@@ -251,12 +251,14 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {\n \t{\n \t.app_id                  = 1,\n \t.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,\n-\t.flags                   = BNXT_ULP_APP_CAP_SHARED_EN\n+\t.flags                   = BNXT_ULP_APP_CAP_SHARED_EN |\n+\t\t\t\tBNXT_ULP_APP_CAP_HOT_UPGRADE_EN\n \t},\n \t{\n \t.app_id                  = 1,\n \t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n-\t.flags                   = BNXT_ULP_APP_CAP_SHARED_EN\n+\t.flags                   = BNXT_ULP_APP_CAP_SHARED_EN |\n+\t\t\t\tBNXT_ULP_APP_CAP_HOT_UPGRADE_EN\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -278,7 +280,7 @@ struct bnxt_ulp_resource_resv_info ulp_app_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n \t.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,\n-\t.count                   = 512\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 1,\n@@ -294,7 +296,7 @@ struct bnxt_ulp_resource_resv_info ulp_app_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n \t.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,\n-\t.count                   = 512\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -350,6 +352,30 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {\n \t},\n \t{\n \t.app_id                  = 1,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n+\t.resource_type           = TF_IDENT_TYPE_WC_PROF,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 1,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 1,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 1,\n \t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n \t.resource_type           = TF_IDENT_TYPE_PROF_FUNC,\n@@ -391,6 +417,14 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {\n \t{\n \t.app_id                  = 1,\n \t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n+\t.resource_type           = TF_IDENT_TYPE_WC_PROF,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 1,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_EM_FKB,\n \t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,\n@@ -413,6 +447,22 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {\n \t.direction               = TF_DIR_RX\n \t},\n \t{\n+\t.app_id                  = 1,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 1,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n \t.app_id                  = 2,\n \t.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n@@ -454,6 +504,30 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {\n \t},\n \t{\n \t.app_id                  = 2,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n+\t.resource_type           = TF_IDENT_TYPE_WC_PROF,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 2,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 2,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_WH_PLUS,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 2,\n \t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n \t.resource_type           = TF_IDENT_TYPE_PROF_FUNC,\n@@ -495,6 +569,14 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {\n \t{\n \t.app_id                  = 2,\n \t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n+\t.resource_type           = TF_IDENT_TYPE_WC_PROF,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 2,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_EM_FKB,\n \t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0,\n@@ -515,6 +597,22 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = {\n \t.resource_type           = TF_TBL_TYPE_WC_FKB,\n \t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_1,\n \t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 2,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,\n+\t.direction               = TF_DIR_RX\n+\t},\n+\t{\n+\t.app_id                  = 2,\n+\t.device_id               = BNXT_ULP_DEVICE_ID_THOR,\n+\t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t.glb_regfile_index       = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,\n+\t.direction               = TF_DIR_RX\n \t}\n };\n \n@@ -818,7 +916,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n \t.resource_type           = TF_IDENT_TYPE_PROF_FUNC,\n-\t.count                   = 64\n+\t.count                   = 63\n \t},\n \t{\n \t.app_id                  = 0,\n@@ -962,7 +1060,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_TX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n \t.resource_type           = TF_IDENT_TYPE_PROF_FUNC,\n-\t.count                   = 64\n+\t.count                   = 63\n \t},\n \t{\n \t.app_id                  = 0,\n@@ -1418,7 +1516,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n-\t.count                   = 512\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 1,\n@@ -1426,7 +1524,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_ACT_STATS_64,\n-\t.count                   = 1024\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 1,\n@@ -1546,7 +1644,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_TX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n-\t.count                   = 512\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 1,\n@@ -1554,7 +1652,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_TX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_ACT_STATS_64,\n-\t.count                   = 1024\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 1,\n@@ -1698,7 +1796,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_ACT_STATS_64,\n-\t.count                   = 1024\n+\t.count                   = 256\n \t},\n \t{\n \t.app_id                  = 1,\n@@ -1826,7 +1924,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_TX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_ACT_STATS_64,\n-\t.count                   = 1024\n+\t.count                   = 256\n \t},\n \t{\n \t.app_id                  = 1,\n@@ -1946,7 +2044,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n-\t.count                   = 512\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -1954,7 +2052,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_ACT_STATS_64,\n-\t.count                   = 1024\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -2018,7 +2116,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n \t.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,\n-\t.count                   = 128\n+\t.count                   = 64\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -2074,7 +2172,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_TX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_FULL_ACT_RECORD,\n-\t.count                   = 512\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -2082,7 +2180,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_TX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_ACT_STATS_64,\n-\t.count                   = 1024\n+\t.count                   = 128\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -2226,7 +2324,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_ACT_STATS_64,\n-\t.count                   = 1024\n+\t.count                   = 256\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -2290,7 +2388,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_RX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n \t.resource_type           = TF_TCAM_TBL_TYPE_WC_TCAM,\n-\t.count                   = 128\n+\t.count                   = 256\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -2354,7 +2452,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = {\n \t.direction               = TF_DIR_TX,\n \t.resource_func           = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type           = TF_TBL_TYPE_ACT_STATS_64,\n-\t.count                   = 1024\n+\t.count                   = 256\n \t},\n \t{\n \t.app_id                  = 2,\n@@ -2515,8 +2613,14 @@ uint32_t ulp_act_prop_map_table[] = {\n \t\tBNXT_ULP_ACT_PROP_SZ_JUMP,\n \t[BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE] =\n \t\tBNXT_ULP_ACT_PROP_SZ_SHARED_HANDLE,\n-\t[BNXT_ULP_ACT_PROP_IDX_RSS] =\n-\t\tBNXT_ULP_ACT_PROP_SZ_RSS,\n+\t[BNXT_ULP_ACT_PROP_IDX_RSS_TYPES] =\n+\t\tBNXT_ULP_ACT_PROP_SZ_RSS_TYPES,\n+\t[BNXT_ULP_ACT_PROP_IDX_RSS_LEVEL] =\n+\t\tBNXT_ULP_ACT_PROP_SZ_RSS_LEVEL,\n+\t[BNXT_ULP_ACT_PROP_IDX_RSS_KEY_LEN] =\n+\t\tBNXT_ULP_ACT_PROP_SZ_RSS_KEY_LEN,\n+\t[BNXT_ULP_ACT_PROP_IDX_RSS_KEY] =\n+\t\tBNXT_ULP_ACT_PROP_SZ_RSS_KEY,\n \t[BNXT_ULP_ACT_PROP_IDX_LAST] =\n \t\tBNXT_ULP_ACT_PROP_SZ_LAST\n };\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c\nindex 73df10a575..a60dfae104 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c\n@@ -3,7 +3,7 @@\n  * All rights reserved.\n  */\n \n-/* date: Mon Feb  8 09:17:37 2021 */\n+/* date: Mon Apr  5 11:35:38 2021 */\n \n #include \"ulp_template_db_enum.h\"\n #include \"ulp_template_db_field.h\"\n@@ -12,21 +12,188 @@\n \n /* Mapper templates for header act list */\n struct bnxt_ulp_mapper_tmpl_info ulp_thor_act_tmpl_list[] = {\n+\t/* act_tid: 1, thor, ingress */\n+\t[1] = {\n+\t.device_name = BNXT_ULP_DEVICE_ID_THOR,\n+\t.num_tbls = 2,\n+\t.start_tbl_idx = 0,\n+\t.reject_info = {\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n+\t\t.cond_start_idx = 0,\n+\t\t.cond_nums = 0 }\n+\t}\n };\n \n struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {\n+\t{ /* act_tid: 1, thor, table: int_flow_counter_tbl.0 */\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_TABLE_INT_COUNT,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 0,\n+\t\t.cond_nums = 1 },\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 0,\n+\t.result_bit_size = 64,\n+\t.result_num_fields = 1\n+\t},\n+\t{ /* act_tid: 1, thor, table: int_full_act_record.0 */\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_TABLE_NORMAL,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 0,\n+\t\t.cond_false_goto = 0,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 1,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 1,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 17\n+\t}\n };\n \n struct bnxt_ulp_mapper_cond_info ulp_thor_act_cond_list[] = {\n+\t/* cond_execute: act_tid: 1, int_flow_counter_tbl.0 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_ACT_BIT_COUNT\n+\t}\n };\n \n struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {\n-};\n-\n-struct\n-bnxt_ulp_mapper_ident_info ulp_thor_act_ident_list[] = {\n-};\n-\n-struct\n-bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {\n+\t/* act_tid: 1, thor, table: int_flow_counter_tbl.0 */\n+\t{\n+\t.description = \"count\",\n+\t.field_bit_size = 64,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* act_tid: 1, thor, table: int_full_act_record.0 */\n+\t{\n+\t.description = \"sp_rec_ptr\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"encap_ptr\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"mod_rec_ptr\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"rsvd1\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"rsvd0\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"decap_func\",\n+\t.field_bit_size = 5,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meter\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"stats_op\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"stats_ptr\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"vnic_or_vport\",\n+\t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,\n+\tBNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}\n+\t},\n+\t{\n+\t.description = \"use_default\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"mirror\",\n+\t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"cond_copy\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"vlan_del_rpt\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"drop\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"hit\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"type\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t}\n };\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c\nindex 5e7ba75c62..45025733fc 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c\n@@ -3,7 +3,7 @@\n  * All rights reserved.\n  */\n \n-/* date: Sun Mar 14 12:41:59 2021 */\n+/* date: Mon Apr  5 11:35:38 2021 */\n \n #include \"ulp_template_db_enum.h\"\n #include \"ulp_template_db_field.h\"\n@@ -12,34 +12,53 @@\n \n /* Mapper templates for header class list */\n struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = {\n-\t/* class_tid: 3, thor, ingress */\n-\t[3] = {\n+\t/* class_tid: 1, thor, ingress */\n+\t[1] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_THOR,\n-\t.num_tbls = 7,\n+\t.num_tbls = 47,\n \t.start_tbl_idx = 0,\n \t.reject_info = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n \t\t.cond_start_idx = 0,\n \t\t.cond_nums = 0 }\n \t},\n-\t/* class_tid: 4, thor, egress */\n+\t/* class_tid: 2, thor, ingress */\n+\t[2] = {\n+\t.device_name = BNXT_ULP_DEVICE_ID_THOR,\n+\t.num_tbls = 13,\n+\t.start_tbl_idx = 47,\n+\t.reject_info = {\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n+\t\t.cond_start_idx = 17,\n+\t\t.cond_nums = 0 }\n+\t},\n+\t/* class_tid: 3, thor, ingress */\n+\t[3] = {\n+\t.device_name = BNXT_ULP_DEVICE_ID_THOR,\n+\t.num_tbls = 1,\n+\t.start_tbl_idx = 60,\n+\t.reject_info = {\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n+\t\t.cond_start_idx = 20,\n+\t\t.cond_nums = 0 }\n+\t},\n+\t/* class_tid: 4, thor, ingress */\n \t[4] = {\n \t.device_name = BNXT_ULP_DEVICE_ID_THOR,\n-\t.num_tbls = 6,\n-\t.start_tbl_idx = 7,\n+\t.num_tbls = 9,\n+\t.start_tbl_idx = 61,\n \t.reject_info = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 20,\n \t\t.cond_nums = 0 }\n \t}\n };\n \n struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {\n-\t{ /* class_tid: 3, thor, table: int_full_act_record.ing_0 */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n-\t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t{ /* class_tid: 1, thor, table: port_table.rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n \t.resource_sub_type =\n-\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,\n \t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n@@ -47,512 +66,28726 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n \t\t.cond_start_idx = 0,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,\n-\t.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,\n-\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 0,\n-\t.result_bit_size = 128,\n-\t.result_num_fields = 17\n+\t.key_start_idx = 0,\n+\t.blob_key_bit_size = 10,\n+\t.key_bit_size = 10,\n+\t.key_num_fields = 1,\n+\t.ident_start_idx = 0,\n+\t.ident_nums = 3\n \t},\n-\t{ /* class_tid: 3, thor, table: parif_def_arec_ptr.ing_0 */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,\n-\t.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,\n+\t{ /* class_tid: 1, thor, table: control.check_gre */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n \t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n-\t\t.cond_false_goto = 1,\n-\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_false_goto = 17,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n \t\t.cond_start_idx = 0,\n-\t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,\n-\t.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,\n-\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 17,\n-\t.result_bit_size = 32,\n-\t.result_num_fields = 1\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n \t},\n-\t{ /* class_tid: 3, thor, table: parif_def_err_arec_ptr.ing_0 */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,\n-\t.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,\n+\t{ /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,\n \t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 0,\n+\t\t.cond_start_idx = 1,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,\n-\t.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 18,\n-\t.result_bit_size = 32,\n-\t.result_num_fields = 1\n+\t.key_start_idx = 1,\n+\t.blob_key_bit_size = 8,\n+\t.key_bit_size = 8,\n+\t.key_num_fields = 1,\n+\t.ident_start_idx = 3,\n+\t.ident_nums = 0\n \t},\n-\t{ /* class_tid: 3, thor, table: control.egr_1 */\n+\t{ /* class_tid: 1, thor, table: control.gre_hit */\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n \t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n-\t\t.cond_false_goto = 0,\n+\t\t.cond_false_goto = 42,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n-\t\t.cond_start_idx = 0,\n+\t\t.cond_start_idx = 1,\n \t\t.cond_nums = 1 },\n-\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n \t},\n-\t{ /* class_tid: 3, thor, table: int_full_act_record.egr_vfr */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n-\t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t{ /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */\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_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 2,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 2,\n+\t.blob_key_bit_size = 213,\n+\t.key_bit_size = 213,\n+\t.key_num_fields = 21,\n+\t.result_start_idx = 0,\n+\t.result_bit_size = 43,\n+\t.result_num_fields = 6,\n+\t.ident_start_idx = 3,\n+\t.ident_nums = 1\n+\t},\n+\t{ /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n \t.resource_sub_type =\n-\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,\n-\t.direction = TF_DIR_TX,\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,\n+\t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 2,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,\n-\t.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 19,\n-\t.result_bit_size = 128,\n-\t.result_num_fields = 17,\n-\t.encap_num_fields = 0\n+\t.key_start_idx = 23,\n+\t.blob_key_bit_size = 8,\n+\t.key_bit_size = 8,\n+\t.key_num_fields = 1,\n+\t.result_start_idx = 6,\n+\t.result_bit_size = 62,\n+\t.result_num_fields = 4\n \t},\n-\t{ /* class_tid: 3, thor, table: parif_def_arec_ptr.egr_0 */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,\n-\t.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,\n-\t.direction = TF_DIR_TX,\n+\t{ /* class_tid: 1, thor, table: fkb_select.gre */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_WC_FKB,\n+\t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 2,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,\n-\t.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,\n-\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,\n+\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 36,\n-\t.result_bit_size = 32,\n-\t.result_num_fields = 1\n+\t.result_start_idx = 10,\n+\t.result_bit_size = 106,\n+\t.result_num_fields = 106\n \t},\n-\t{ /* class_tid: 3, thor, table: parif_def_err_arec_ptr.egr_0 */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,\n-\t.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,\n-\t.direction = TF_DIR_TX,\n+\t{ /* class_tid: 1, thor, table: profile_tcam.gre */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,\n+\t.direction = TF_DIR_RX,\n \t.execute_info = {\n-\t\t.cond_true_goto  = 0,\n-\t\t.cond_false_goto = 0,\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 2,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,\n-\t.tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 37,\n-\t.result_bit_size = 32,\n-\t.result_num_fields = 1\n+\t.key_start_idx = 24,\n+\t.blob_key_bit_size = 94,\n+\t.key_bit_size = 94,\n+\t.key_num_fields = 43,\n+\t.result_start_idx = 116,\n+\t.result_bit_size = 33,\n+\t.result_num_fields = 8,\n+\t.ident_start_idx = 4,\n+\t.ident_nums = 0\n \t},\n-\t{ /* class_tid: 4, thor, table: int_full_act_record.loopback */\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_TABLE_VFR_CFA_ACTION,\n-\t.direction = TF_DIR_TX,\n+\t{ /* class_tid: 1, thor, table: wm.gre */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 2,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 2,\n+\t\t.cond_nums = 1 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 67,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 124,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 1, thor, table: wm.gre_low */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,\n+\t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 3,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_GLB_REGFILE,\n-\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,\n-\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n-\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 38,\n-\t.result_bit_size = 128,\n-\t.result_num_fields = 17,\n-\t.encap_num_fields = 0\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 181,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 129,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n \t},\n-\t{ /* class_tid: 4, thor, table: parif_def_arec_ptr.vf_egr */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,\n-\t.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,\n-\t.direction = TF_DIR_TX,\n+\t{ /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,\n+\t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 3,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,\n-\t.tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 55,\n-\t.result_bit_size = 32,\n-\t.result_num_fields = 1\n+\t.key_start_idx = 295,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n+\t.key_num_fields = 5,\n+\t.ident_start_idx = 4,\n+\t.ident_nums = 0\n \t},\n-\t{ /* class_tid: 4, thor, table: parif_def_err_arec_ptr.vf_egr */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,\n-\t.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,\n-\t.direction = TF_DIR_TX,\n+\t{ /* class_tid: 1, thor, table: control.gre_frag_mac_hit */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 4,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 3,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */\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_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 4,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,\n-\t.tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,\n-\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 56,\n-\t.result_bit_size = 32,\n-\t.result_num_fields = 1\n+\t.key_start_idx = 300,\n+\t.blob_key_bit_size = 213,\n+\t.key_bit_size = 213,\n+\t.key_num_fields = 21,\n+\t.result_start_idx = 134,\n+\t.result_bit_size = 43,\n+\t.result_num_fields = 6,\n+\t.ident_start_idx = 4,\n+\t.ident_nums = 0\n \t},\n-\t{ /* class_tid: 4, thor, table: int_full_act_record.vf_ing */\n-\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n-\t.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,\n+\t{ /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n \t.resource_sub_type =\n-\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,\n \t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 4,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,\n-\t.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 57,\n-\t.result_bit_size = 128,\n-\t.result_num_fields = 17,\n-\t.encap_num_fields = 0\n+\t.key_start_idx = 321,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n+\t.key_num_fields = 5,\n+\t.result_start_idx = 140,\n+\t.result_bit_size = 62,\n+\t.result_num_fields = 4\n \t},\n-\t{ /* class_tid: 4, thor, table: vtag_encap_record.vfr_egr0 */\n+\t{ /* class_tid: 1, thor, table: fkb_select.gre_frag */\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n-\t.resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,\n-\t.resource_sub_type =\n-\t\tBNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,\n-\t.direction = TF_DIR_TX,\n+\t.resource_type = TF_TBL_TYPE_WC_FKB,\n+\t.direction = TF_DIR_RX,\n \t.execute_info = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 4,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,\n-\t.tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,\n-\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,\n+\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 74,\n-\t.result_bit_size = 0,\n-\t.result_num_fields = 0,\n-\t.encap_num_fields = 11\n+\t.result_start_idx = 144,\n+\t.result_bit_size = 106,\n+\t.result_num_fields = 106\n \t},\n-\t{ /* class_tid: 4, thor, table: int_full_act_record.vfr_egr0 */\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_TABLE_VFR_CFA_ACTION,\n-\t.direction = TF_DIR_TX,\n+\t{ /* class_tid: 1, thor, table: profile_tcam.gre_frag */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,\n+\t.direction = TF_DIR_RX,\n \t.execute_info = {\n-\t\t.cond_true_goto  = 0,\n-\t\t.cond_false_goto = 0,\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n-\t\t.cond_start_idx = 1,\n+\t\t.cond_start_idx = 4,\n \t\t.cond_nums = 0 },\n-\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,\n-\t.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n-\t.result_start_idx = 85,\n-\t.result_bit_size = 128,\n-\t.result_num_fields = 17\n-\t}\n-};\n-\n-struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {\n-\t/* cond_execute: class_tid: 3, control.egr_1 */\n-\t{\n-\t.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,\n-\t.cond_operand = BNXT_ULP_CF_IDX_VFR_MODE\n-\t}\n-};\n-\n-struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {\n-\t/* class_tid: 3, thor, table: int_full_act_record.ing_0 */\n-\t{\n-\t.description = \"sp_rec_ptr\",\n-\t.field_bit_size = 16,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.key_start_idx = 326,\n+\t.blob_key_bit_size = 94,\n+\t.key_bit_size = 94,\n+\t.key_num_fields = 43,\n+\t.result_start_idx = 250,\n+\t.result_bit_size = 33,\n+\t.result_num_fields = 8,\n+\t.ident_start_idx = 4,\n+\t.ident_nums = 0\n \t},\n-\t{\n-\t.description = \"encap_ptr\",\n-\t.field_bit_size = 16,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t{ /* class_tid: 1, thor, table: wm.gre_frag */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 29,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 4,\n+\t\t.cond_nums = 1 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 369,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 258,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n \t},\n-\t{\n-\t.description = \"mod_rec_ptr\",\n-\t.field_bit_size = 16,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t{ /* class_tid: 1, thor, table: wm.gre_frag_low */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 28,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 5,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 483,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 263,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n \t},\n-\t{\n-\t.description = \"rsvd1\",\n-\t.field_bit_size = 16,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t{ /* class_tid: 1, thor, table: mac_addr_cache.non_gre_rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 5,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 597,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n+\t.key_num_fields = 5,\n+\t.ident_start_idx = 4,\n+\t.ident_nums = 0\n \t},\n-\t{\n-\t.description = \"rsvd0\",\n-\t.field_bit_size = 8,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t{ /* class_tid: 1, thor, table: control.non_gre_mac */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 3,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 5,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n \t},\n-\t{\n-\t.description = \"decap_func\",\n-\t.field_bit_size = 5,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t{ /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */\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_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 6,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 602,\n+\t.blob_key_bit_size = 213,\n+\t.key_bit_size = 213,\n+\t.key_num_fields = 21,\n+\t.result_start_idx = 268,\n+\t.result_bit_size = 43,\n+\t.result_num_fields = 6,\n+\t.ident_start_idx = 4,\n+\t.ident_nums = 0\n \t},\n-\t{\n-\t.description = \"meter\",\n-\t.field_bit_size = 10,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t{ /* class_tid: 1, thor, table: mac_addr_cache.wr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 6,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 623,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n+\t.key_num_fields = 5,\n+\t.result_start_idx = 274,\n+\t.result_bit_size = 62,\n+\t.result_num_fields = 4\n \t},\n-\t{\n-\t.description = \"stats_op\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t{ /* class_tid: 1, thor, table: control.icmpv4_test */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 8,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 6,\n+\t\t.cond_nums = 2 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n \t},\n-\t{\n-\t.description = \"stats_ptr\",\n+\t{ /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 8,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 628,\n+\t.blob_key_bit_size = 14,\n+\t.key_bit_size = 14,\n+\t.key_num_fields = 3,\n+\t.ident_start_idx = 4,\n+\t.ident_nums = 0\n+\t},\n+\t{ /* class_tid: 1, thor, table: control.icmpv4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 4,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 8,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 1, thor, table: fkb_select.icmpv4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_WC_FKB,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 9,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,\n+\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 278,\n+\t.result_bit_size = 106,\n+\t.result_num_fields = 106\n+\t},\n+\t{ /* class_tid: 1, thor, table: profile_tcam.icmpv4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 9,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 631,\n+\t.blob_key_bit_size = 94,\n+\t.key_bit_size = 94,\n+\t.key_num_fields = 43,\n+\t.result_start_idx = 384,\n+\t.result_bit_size = 33,\n+\t.result_num_fields = 8,\n+\t.ident_start_idx = 4,\n+\t.ident_nums = 1\n+\t},\n+\t{ /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 9,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 674,\n+\t.blob_key_bit_size = 14,\n+\t.key_bit_size = 14,\n+\t.key_num_fields = 3,\n+\t.result_start_idx = 392,\n+\t.result_bit_size = 82,\n+\t.result_num_fields = 7\n+\t},\n+\t{ /* class_tid: 1, thor, table: wm.icmpv4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 17,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 9,\n+\t\t.cond_nums = 1 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 677,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 399,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 1, thor, table: wm.icmpv4_low */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 16,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 10,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 791,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 404,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 1, thor, table: control.icmpv6_test */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 8,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 10,\n+\t\t.cond_nums = 2 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 12,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 905,\n+\t.blob_key_bit_size = 14,\n+\t.key_bit_size = 14,\n+\t.key_num_fields = 3,\n+\t.ident_start_idx = 5,\n+\t.ident_nums = 0\n+\t},\n+\t{ /* class_tid: 1, thor, table: control.icmpv6 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 4,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 12,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 1, thor, table: fkb_select.icmpv6 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_WC_FKB,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 13,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,\n+\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 409,\n+\t.result_bit_size = 106,\n+\t.result_num_fields = 106\n+\t},\n+\t{ /* class_tid: 1, thor, table: profile_tcam.icmpv6 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 13,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 908,\n+\t.blob_key_bit_size = 94,\n+\t.key_bit_size = 94,\n+\t.key_num_fields = 43,\n+\t.result_start_idx = 515,\n+\t.result_bit_size = 33,\n+\t.result_num_fields = 8,\n+\t.ident_start_idx = 5,\n+\t.ident_nums = 1\n+\t},\n+\t{ /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 13,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 951,\n+\t.blob_key_bit_size = 14,\n+\t.key_bit_size = 14,\n+\t.key_num_fields = 3,\n+\t.result_start_idx = 523,\n+\t.result_bit_size = 82,\n+\t.result_num_fields = 7\n+\t},\n+\t{ /* class_tid: 1, thor, table: wm.icmpv6 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 9,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 13,\n+\t\t.cond_nums = 1 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 954,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 530,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 1, thor, table: wm.icmpv6_low */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 8,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 14,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 1068,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 535,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 1, thor, table: profile_tcam_cache.l3_l4_rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 14,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1182,\n+\t.blob_key_bit_size = 14,\n+\t.key_bit_size = 14,\n+\t.key_num_fields = 3,\n+\t.ident_start_idx = 6,\n+\t.ident_nums = 0\n+\t},\n+\t{ /* class_tid: 1, thor, table: control.l3_l4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 4,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 14,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 1, thor, table: fkb_select.l3_l4_wm */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_WC_FKB,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 15,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,\n+\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 540,\n+\t.result_bit_size = 106,\n+\t.result_num_fields = 106\n+\t},\n+\t{ /* class_tid: 1, thor, table: profile_tcam.l3_l4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 15,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1185,\n+\t.blob_key_bit_size = 94,\n+\t.key_bit_size = 94,\n+\t.key_num_fields = 43,\n+\t.result_start_idx = 646,\n+\t.result_bit_size = 33,\n+\t.result_num_fields = 8,\n+\t.ident_start_idx = 6,\n+\t.ident_nums = 0\n+\t},\n+\t{ /* class_tid: 1, thor, table: profile_tcam_cache.wr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 15,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1228,\n+\t.blob_key_bit_size = 14,\n+\t.key_bit_size = 14,\n+\t.key_num_fields = 3,\n+\t.result_start_idx = 654,\n+\t.result_bit_size = 82,\n+\t.result_num_fields = 7\n+\t},\n+\t{ /* class_tid: 1, thor, table: wm.l4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 2,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 15,\n+\t\t.cond_nums = 1 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 1231,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 661,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 1, thor, table: wm.l4_low */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 16,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 1345,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 666,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 1, thor, table: control.check_rss_action */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 0,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 16,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 1, thor, table: control.rss_config */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 0,\n+\t\t.cond_false_goto = 0,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 17,\n+\t\t.cond_nums = 0 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.func_info = {\n+\t\t.func_opc = BNXT_ULP_FUNC_OPC_RSS_CONFIG,\n+\t\t.func_dst_opr = BNXT_ULP_RF_IDX_CC },\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 2, thor, table: port_table.rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 17,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1459,\n+\t.blob_key_bit_size = 10,\n+\t.key_bit_size = 10,\n+\t.key_num_fields = 1,\n+\t.ident_start_idx = 6,\n+\t.ident_nums = 3\n+\t},\n+\t{ /* class_tid: 2, thor, table: mac_addr_cache.rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 17,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1460,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n+\t.key_num_fields = 5,\n+\t.ident_start_idx = 9,\n+\t.ident_nums = 0\n+\t},\n+\t{ /* class_tid: 2, thor, table: control.0 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 3,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 17,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */\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_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 18,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1465,\n+\t.blob_key_bit_size = 213,\n+\t.key_bit_size = 213,\n+\t.key_num_fields = 21,\n+\t.result_start_idx = 671,\n+\t.result_bit_size = 43,\n+\t.result_num_fields = 6,\n+\t.ident_start_idx = 9,\n+\t.ident_nums = 1\n+\t},\n+\t{ /* class_tid: 2, thor, table: mac_addr_cache.wr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 18,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1486,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n+\t.key_num_fields = 5,\n+\t.result_start_idx = 677,\n+\t.result_bit_size = 62,\n+\t.result_num_fields = 4\n+\t},\n+\t{ /* class_tid: 2, thor, table: profile_tcam_cache.l3_l4_rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 18,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1491,\n+\t.blob_key_bit_size = 14,\n+\t.key_bit_size = 14,\n+\t.key_num_fields = 3,\n+\t.ident_start_idx = 10,\n+\t.ident_nums = 0\n+\t},\n+\t{ /* class_tid: 2, thor, table: control.l3_l4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 4,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 18,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 2, thor, table: fkb_select.l3_l4_wm */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n+\t.resource_type = TF_TBL_TYPE_WC_FKB,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 19,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,\n+\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 681,\n+\t.result_bit_size = 106,\n+\t.result_num_fields = 106\n+\t},\n+\t{ /* class_tid: 2, thor, table: profile_tcam.l3_l4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 19,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,\n+\t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1494,\n+\t.blob_key_bit_size = 94,\n+\t.key_bit_size = 94,\n+\t.key_num_fields = 43,\n+\t.result_start_idx = 787,\n+\t.result_bit_size = 33,\n+\t.result_num_fields = 8,\n+\t.ident_start_idx = 10,\n+\t.ident_nums = 0\n+\t},\n+\t{ /* class_tid: 2, thor, table: profile_tcam_cache.wr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 19,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1537,\n+\t.blob_key_bit_size = 14,\n+\t.key_bit_size = 14,\n+\t.key_num_fields = 3,\n+\t.result_start_idx = 795,\n+\t.result_bit_size = 82,\n+\t.result_num_fields = 7\n+\t},\n+\t{ /* class_tid: 2, thor, table: wm.l4 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,\n+\t.resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 19,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,\n+\t.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,\n+\t.pri_operand = 0,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_BE,\n+\t.key_start_idx = 1540,\n+\t.blob_key_bit_size = 0,\n+\t.key_bit_size = 0,\n+\t.key_num_fields = 114,\n+\t.result_start_idx = 802,\n+\t.result_bit_size = 38,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 2, thor, table: control.check_rss_action */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 0,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 19,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 2, thor, table: control.rss_config */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 0,\n+\t\t.cond_false_goto = 0,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 20,\n+\t\t.cond_nums = 0 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.func_info = {\n+\t\t.func_opc = BNXT_ULP_FUNC_OPC_RSS_CONFIG,\n+\t\t.func_dst_opr = BNXT_ULP_RF_IDX_CC },\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 3, thor, table: control.0 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 0,\n+\t\t.cond_false_goto = 0,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 20,\n+\t\t.cond_nums = 0 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 4, thor, table: control.get_parent_mac_addr */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 20,\n+\t\t.cond_nums = 0 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.func_info = {\n+\t\t.func_opc = BNXT_ULP_FUNC_OPC_GET_PARENT_MAC_ADDR,\n+\t\t.func_dst_opr = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC },\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 4, thor, table: control.0 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 3,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,\n+\t\t.cond_start_idx = 20,\n+\t\t.cond_nums = 1 },\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.func_info = {\n+\t\t.func_opc = BNXT_ULP_FUNC_OPC_EQ,\n+\t\t.func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,\n+\t\t.func_opr1 = BNXT_ULP_CF_IDX_PHY_PORT_VPORT,\n+\t\t.func_src2 = BNXT_ULP_FUNC_SRC_CONST,\n+\t\t.func_opr2 = 1,\n+\t\t.func_dst_opr = BNXT_ULP_RF_IDX_CC },\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n+\t},\n+\t{ /* class_tid: 4, thor, table: int_full_act_record.0 */\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_TABLE_NORMAL,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 21,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,\n+\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 807,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 17\n+\t},\n+\t{ /* class_tid: 4, thor, table: port_table.wr_0 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 3,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 21,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1654,\n+\t.blob_key_bit_size = 10,\n+\t.key_bit_size = 10,\n+\t.key_num_fields = 1,\n+\t.result_start_idx = 824,\n+\t.result_bit_size = 152,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 4, thor, table: int_full_act_record.1 */\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_TABLE_NORMAL,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 21,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,\n+\t.tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n+\t.shared_session = BNXT_ULP_SHARED_SESSION_YES,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 829,\n+\t.result_bit_size = 128,\n+\t.result_num_fields = 17\n+\t},\n+\t{ /* class_tid: 4, thor, table: port_table.wr_1 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 21,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1655,\n+\t.blob_key_bit_size = 10,\n+\t.key_bit_size = 10,\n+\t.key_num_fields = 1,\n+\t.result_start_idx = 846,\n+\t.result_bit_size = 152,\n+\t.result_num_fields = 5\n+\t},\n+\t{ /* class_tid: 4, thor, table: port_table.rd */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,\n+\t.resource_sub_type =\n+\t\tBNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 21,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n+\t.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.key_start_idx = 1656,\n+\t.blob_key_bit_size = 10,\n+\t.key_bit_size = 10,\n+\t.key_num_fields = 1,\n+\t.ident_start_idx = 10,\n+\t.ident_nums = 1\n+\t},\n+\t{ /* class_tid: 4, thor, table: parif_def_arec_ptr.ing_0 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,\n+\t.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 1,\n+\t\t.cond_false_goto = 1,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 21,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,\n+\t.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 851,\n+\t.result_bit_size = 32,\n+\t.result_num_fields = 1\n+\t},\n+\t{ /* class_tid: 4, thor, table: parif_def_err_arec_ptr.ing_0 */\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,\n+\t.resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,\n+\t.direction = TF_DIR_RX,\n+\t.execute_info = {\n+\t\t.cond_true_goto  = 0,\n+\t\t.cond_false_goto = 0,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_start_idx = 21,\n+\t\t.cond_nums = 0 },\n+\t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,\n+\t.tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,\n+\t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n+\t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n+\t.result_start_idx = 852,\n+\t.result_bit_size = 32,\n+\t.result_num_fields = 1\n+\t}\n+};\n+\n+struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {\n+\t/* cond_execute: class_tid: 1, control.check_gre */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_HDR_BIT_T_GRE\n+\t},\n+\t/* cond_execute: class_tid: 1, control.gre_hit */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS\n+\t},\n+\t/* cond_execute: class_tid: 1, wm.gre */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,\n+\t.cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG\n+\t},\n+\t/* cond_execute: class_tid: 1, control.gre_frag_mac_hit */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS\n+\t},\n+\t/* cond_execute: class_tid: 1, wm.gre_frag */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,\n+\t.cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG\n+\t},\n+\t/* cond_execute: class_tid: 1, control.non_gre_mac */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS\n+\t},\n+\t/* cond_execute: class_tid: 1, control.icmpv4_test */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4\n+\t},\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_HDR_BIT_O_ICMP\n+\t},\n+\t/* cond_execute: class_tid: 1, control.icmpv4 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS\n+\t},\n+\t/* cond_execute: class_tid: 1, wm.icmpv4 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,\n+\t.cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG\n+\t},\n+\t/* cond_execute: class_tid: 1, control.icmpv6_test */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6\n+\t},\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_HDR_BIT_O_ICMP\n+\t},\n+\t/* cond_execute: class_tid: 1, control.icmpv6 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS\n+\t},\n+\t/* cond_execute: class_tid: 1, wm.icmpv6 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,\n+\t.cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG\n+\t},\n+\t/* cond_execute: class_tid: 1, control.l3_l4 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS\n+\t},\n+\t/* cond_execute: class_tid: 1, wm.l4 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,\n+\t.cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG\n+\t},\n+\t/* cond_execute: class_tid: 1, control.check_rss_action */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_ACT_BIT_RSS\n+\t},\n+\t/* cond_execute: class_tid: 2, control.0 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS\n+\t},\n+\t/* cond_execute: class_tid: 2, control.l3_l4 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS\n+\t},\n+\t/* cond_execute: class_tid: 2, control.check_rss_action */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,\n+\t.cond_operand = BNXT_ULP_ACT_BIT_RSS\n+\t},\n+\t/* cond_execute: class_tid: 4, control.0 */\n+\t{\n+\t.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,\n+\t.cond_operand = BNXT_ULP_RF_IDX_CC\n+\t}\n+};\n+\n+struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {\n+\t/* class_tid: 1, thor, table: port_table.rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam.gre */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac1_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac1_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac0_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac0_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tunnel_id\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tunnel_id\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_GRE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"llc\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"llc\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"roce\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"roce\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mpass_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mpass_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.gre */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.gre */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t47}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.gre_low */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t47}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: mac_addr_cache.gre_frag_rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam.0 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac1_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac1_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac0_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac0_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tunnel_id\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tunnel_id\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"llc\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"llc\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"roce\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"roce\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mpass_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t2}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mpass_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.gre_frag */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t16}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t16}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L2_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.gre_frag */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t47}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.gre_frag_low */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t47}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: mac_addr_cache.non_gre_rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam.0 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac1_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac1_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac0_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac0_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tunnel_id\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tunnel_id\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"llc\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"llc\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"roce\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"roce\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mpass_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t2}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mpass_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: mac_addr_cache.wr */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.icmpv4 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L4_HDR_TYPE_ICMP}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L4_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L3_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L2_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.icmpv4 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\t1},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\t58}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.icmpv4_low */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\t1},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\t58}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.icmpv6 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L4_HDR_TYPE_ICMP}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L4_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L3_HDR_TYPE_IPV6}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L3_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L2_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.icmpv6 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\t1},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\t58}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.icmpv6_low */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\t1},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\t58}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.l3_l4_rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.l3_l4 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\tULP_THOR_SYM_L4_HDR_TYPE_TCP},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\tULP_THOR_SYM_L4_HDR_TYPE_UDP}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L4_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\tULP_THOR_SYM_L3_HDR_TYPE_IPV4},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\tULP_THOR_SYM_L3_HDR_TYPE_IPV6}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L3_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L2_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.wr */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.l4 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\tULP_THOR_SYM_IP_PROTO_TCP},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\tULP_THOR_SYM_IP_PROTO_UDP}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.l4_low */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\tULP_THOR_SYM_IP_PROTO_TCP},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\tULP_THOR_SYM_IP_PROTO_UDP}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 2, thor, table: port_table.rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 2, thor, table: mac_addr_cache.rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 2, thor, table: l2_cntxt_tcam.0 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovlan_tpid_sel\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovlan_vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac1_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac1_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac0_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac0_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tunnel_id\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tunnel_id\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"llc\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"llc\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"roce\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"roce\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mpass_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t2}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mpass_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 2, thor, table: mac_addr_cache.wr */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_TUN_HDR_TYPE_NONE}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"one_tag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"vid\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"mac_addr\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 2, thor, table: profile_tcam_cache.l3_l4_rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 2, thor, table: profile_tcam.l3_l4 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\tULP_THOR_SYM_L4_HDR_TYPE_TCP},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\tULP_THOR_SYM_L4_HDR_TYPE_UDP}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L4_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"ieh\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\tULP_THOR_SYM_L3_HDR_TYPE_IPV4},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\tULP_THOR_SYM_L3_HDR_TYPE_IPV6}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L3_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\tULP_THOR_SYM_L2_HDR_VALID_YES}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_flags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_err\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tun_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_is_udp_tcp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_dst\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_ipv6_cmp_src\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_isIP\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_two_vtags\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_vtag_present\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_uc_mc_bc\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_hdr_valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hrec_next\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"agg_error\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"metadata\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_0\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"pkt_type_1\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"valid\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr1 = {\n+\t\t1}\n+\t\t}\n+\t},\n+\t/* class_tid: 2, thor, table: profile_tcam_cache.wr */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"recycle_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"prof_func_id\",\n+\t\t.field_bit_size = 7,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"hdr_sig_id\",\n+\t\t.field_bit_size = 5,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 2, thor, table: wm.l4 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"wc_profile_id\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_cntxt_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"parif\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"spif\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"svif\",\n+\t\t.field_bit_size = 11,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"lcos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"meta\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"rcyc_cnt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"loopback\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl3.l3err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tl4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tuntype\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tflags\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tids\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tid\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxts\",\n+\t\t.field_bit_size = 24,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tctxt\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"tqos\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"terr\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_l2type\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dmac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_smac\",\n+\t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_dt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_sa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_nvt\",\n+\t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ovt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivp\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivd\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivv\",\n+\t\t.field_bit_size = 12,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_ivt\",\n+\t\t.field_bit_size = 3,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l2_etype\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.sip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv4\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip.ipv6\",\n+\t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.dip_selcmp.ipv6\",\n+\t\t.field_bit_size = 72,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ttl\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.prot\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr2 = {\n+\t\t\tULP_THOR_SYM_IP_PROTO_TCP},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_opr3 = {\n+\t\tULP_THOR_SYM_IP_PROTO_UDP}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv4\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.fid.ipv6\",\n+\t\t.field_bit_size = 20,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.qos\",\n+\t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_nonext\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_esp\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_auth\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_dest\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_rthdr\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_hop\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.ieh_1frag\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.df\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv4\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l3.l3err.ipv6\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.l4type\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.src\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.dst\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t\t.field_opr1 = {\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},\n+\t\t.field_src3 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr3 = {\n+\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.flags\",\n+\t\t.field_bit_size = 9,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.seq\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.ack\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.win\",\n+\t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.pa\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.opt\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tcpts\",\n+\t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.tsval\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.txecr\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"l4.err\",\n+\t\t.field_bit_size = 4,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SKIP\n+\t\t}\n+\t},\n+\t/* class_tid: 4, thor, table: port_table.wr_0 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 4, thor, table: port_table.wr_1 */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}\n+\t\t}\n+\t},\n+\t/* class_tid: 4, thor, table: port_table.rd */\n+\t{\n+\t.field_info_mask = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ONES,\n+\t\t.field_opr1 = {\n+\t\t\t0xff,\n+\t\t\t0xff}\n+\t\t},\n+\t.field_info_spec = {\n+\t\t.description = \"dev.port_id\",\n+\t\t.field_bit_size = 10,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t\t.field_opr1 = {\n+\t\t(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,\n+\t\tBNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}\n+\t\t}\n+\t}\n+};\n+\n+struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam.gre */\n+\t{\n+\t.description = \"prof_func_id\",\n+\t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 & 0xff}\n+\t},\n+\t{\n+\t.description = \"ctxt_meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"def_ctxt_data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"ctxt_opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\tULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_id\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr3 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"parif\",\n+\t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,\n+\tBNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}\n+\t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */\n+\t{\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_RID & 0xff}\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_tcam_index\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_id\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"src_property_ptr\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: fkb_select.gre */\n+\t{\n+\t.description = \"l2_cntxt_id.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"parif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"spif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"svif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"lcos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"rcyc_cnt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"loopback.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"tl3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tuntype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tflags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tids.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tqos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"terr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_ack.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_win.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tsval.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_txecr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.gre */\n+\t{\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"em_key_type\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"pl_byp_lkup_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: wm.gre */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.gre_low */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam.0 */\n+\t{\n+\t.description = \"prof_func_id\",\n+\t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"ctxt_meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"def_ctxt_data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"ctxt_opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\tULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_id\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr3 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"parif\",\n+\t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,\n+\tBNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}\n+\t},\n+\t/* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */\n+\t{\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_RID & 0xff}\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_tcam_index\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_id\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"src_property_ptr\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: fkb_select.gre_frag */\n+\t{\n+\t.description = \"l2_cntxt_id.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"parif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"spif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"svif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"lcos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"rcyc_cnt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"loopback.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"tl3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tuntype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tflags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tids.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tqos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"terr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_ack.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_win.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tsval.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_txecr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.gre_frag */\n+\t{\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"em_key_type\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"pl_byp_lkup_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: wm.gre_frag */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.gre_frag_low */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam.0 */\n+\t{\n+\t.description = \"prof_func_id\",\n+\t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"ctxt_meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"def_ctxt_data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"ctxt_opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\tULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_id\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr3 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"parif\",\n+\t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,\n+\tBNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}\n+\t},\n+\t/* class_tid: 1, thor, table: mac_addr_cache.wr */\n+\t{\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_RID & 0xff}\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_tcam_index\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_id\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"src_property_ptr\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: fkb_select.icmpv4 */\n+\t{\n+\t.description = \"l2_cntxt_id.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"parif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"spif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"svif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"lcos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"rcyc_cnt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"loopback.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"tl3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tuntype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tflags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tids.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tqos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"terr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_ack.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_win.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tsval.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_txecr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.icmpv4 */\n+\t{\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"em_key_type\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"pl_byp_lkup_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */\n+\t{\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_RID & 0xff}\n+\t},\n+\t{\n+\t.description = \"profile_tcam_index\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"flow_sig_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: wm.icmpv4 */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.icmpv4_low */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: fkb_select.icmpv6 */\n+\t{\n+\t.description = \"l2_cntxt_id.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"parif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"spif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"svif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"lcos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"rcyc_cnt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"loopback.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"tl3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tuntype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tflags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tids.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tqos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"terr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_ack.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_win.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tsval.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_txecr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.icmpv6 */\n+\t{\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"em_key_type\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"pl_byp_lkup_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */\n+\t{\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_RID & 0xff}\n+\t},\n+\t{\n+\t.description = \"profile_tcam_index\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"flow_sig_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: wm.icmpv6 */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.icmpv6_low */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: fkb_select.l3_l4_wm */\n+\t{\n+\t.description = \"l2_cntxt_id.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"parif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"spif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"svif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"lcos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"rcyc_cnt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"loopback.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"tl3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tuntype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tflags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tids.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tqos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"terr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_ack.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_win.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_tsval.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_txecr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam.l3_l4 */\n+\t{\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n+\t.field_opr1 = {\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},\n+\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr3 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}\n+\t},\n+\t{\n+\t.description = \"wc_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"em_key_type\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 6,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_search_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"pl_byp_lkup_en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: profile_tcam_cache.wr */\n+\t{\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_RID & 0xff}\n+\t},\n+\t{\n+\t.description = \"profile_tcam_index\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"flow_sig_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 1, thor, table: wm.l4 */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 1, thor, table: wm.l4_low */\n+\t{\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t/* class_tid: 2, thor, table: l2_cntxt_tcam.0 */\n+\t{\n+\t.description = \"prof_func_id\",\n+\t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"ctxt_meta_prof\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"def_ctxt_data\",\n \t.field_bit_size = 16,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}\n+\t},\n+\t{\n+\t.description = \"ctxt_opcode\",\n+\t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\tULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_id\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_PHY_PORT & 0xff},\n+\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},\n+\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr3 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}\n+\t},\n+\t{\n+\t.description = \"parif\",\n+\t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,\n+\tBNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}\n+\t},\n+\t/* class_tid: 2, thor, table: mac_addr_cache.wr */\n+\t{\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_RID & 0xff}\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_tcam_index\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_cntxt_id\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"src_property_ptr\",\n+\t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t/* class_tid: 2, thor, table: fkb_select.l3_l4_wm */\n+\t{\n+\t.description = \"l2_cntxt_id.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"parif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"spif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"svif.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"lcos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"meta.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"rcyc_cnt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"loopback.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"tl3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_pa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_opt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_tcpts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tl4_err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tuntype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tflags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tids.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxts.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tctxt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"tqos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"terr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_l2type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dmac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_smac.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_dt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_sa.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_nvt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ovt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivd.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivv.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_ivt.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l2_etype.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_sip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_dip_selcmp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ttl.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_prot.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l3_fid.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_qos.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_nonext.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_esp.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_auth.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_dest.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_rthdr.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_hop.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_ieh_1frag.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_df.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l3_l3err.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_l4type.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_src.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_dst.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_opr1 = {\n+\t1}\n+\t},\n+\t{\n+\t.description = \"l4_flags.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_seq.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"l4_ack.en\",\n+\t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"vnic_or_vport\",\n-\t.field_bit_size = 11,\n+\t.description = \"l4_win.en\",\n+\t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n-\t.field_opr1 = {\n-\t(BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,\n-\tBNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"use_default\",\n+\t.description = \"l4_pa.en\",\n \t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"mirror\",\n-\t.field_bit_size = 4,\n+\t.description = \"l4_opt.en\",\n+\t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"cond_copy\",\n+\t.description = \"l4_tcpts.en\",\n \t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"vlan_del_rpt\",\n-\t.field_bit_size = 2,\n+\t.description = \"l4_tsval.en\",\n+\t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"drop\",\n+\t.description = \"l4_txecr.en\",\n \t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"hit\",\n+\t.description = \"l4_err.en\",\n \t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n+\t/* class_tid: 2, thor, table: profile_tcam.l3_l4 */\n \t{\n-\t.description = \"type\",\n-\t.field_bit_size = 3,\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 6,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n-\t1}\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}\n \t},\n-\t/* class_tid: 3, thor, table: parif_def_arec_ptr.ing_0 */\n \t{\n-\t.description = \"act_rec_ptr\",\n-\t.field_bit_size = 32,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,\n \t.field_opr1 = {\n-\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n-\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,\n+\t((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,\n+\t(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},\n+\t.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr2 = {\n+\t\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,\n+\t\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},\n+\t.field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_opr3 = {\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}\n \t},\n-\t/* class_tid: 3, thor, table: parif_def_err_arec_ptr.ing_0 */\n \t{\n-\t.description = \"act_rec_ptr\",\n-\t.field_bit_size = 32,\n+\t.description = \"wc_search_en\",\n+\t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t.field_opr1 = {\n-\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n-\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t1}\n \t},\n-\t/* class_tid: 3, thor, table: int_full_act_record.egr_vfr */\n \t{\n-\t.description = \"sp_rec_ptr\",\n-\t.field_bit_size = 16,\n+\t.description = \"em_key_type\",\n+\t.field_bit_size = 2,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"encap_ptr\",\n-\t.field_bit_size = 16,\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 6,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"mod_rec_ptr\",\n-\t.field_bit_size = 16,\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"rsvd1\",\n-\t.field_bit_size = 16,\n+\t.description = \"em_search_en\",\n+\t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"rsvd0\",\n-\t.field_bit_size = 8,\n+\t.description = \"pl_byp_lkup_en\",\n+\t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n+\t/* class_tid: 2, thor, table: profile_tcam_cache.wr */\n \t{\n-\t.description = \"decap_func\",\n-\t.field_bit_size = 5,\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_opr1 = {\n+\t(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_RID & 0xff}\n \t},\n \t{\n-\t.description = \"meter\",\n+\t.description = \"profile_tcam_index\",\n \t.field_bit_size = 10,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"stats_op\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n-\t},\n-\t{\n-\t.description = \"stats_ptr\",\n-\t.field_bit_size = 16,\n+\t.description = \"em_profile_id\",\n+\t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"vnic_or_vport\",\n-\t.field_bit_size = 11,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n-\t.field_opr1 = {\n-\t(BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,\n-\tBNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}\n-\t},\n-\t{\n-\t.description = \"use_default\",\n-\t.field_bit_size = 1,\n+\t.description = \"em_key_id\",\n+\t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"mirror\",\n-\t.field_bit_size = 4,\n+\t.description = \"wc_profile_id\",\n+\t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"cond_copy\",\n-\t.field_bit_size = 1,\n+\t.description = \"wc_key_id\",\n+\t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"vlan_del_rpt\",\n-\t.field_bit_size = 2,\n+\t.description = \"flow_sig_id\",\n+\t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n+\t/* class_tid: 2, thor, table: wm.l4 */\n \t{\n-\t.description = \"drop\",\n-\t.field_bit_size = 1,\n+\t.description = \"ctxt_data\",\n+\t.field_bit_size = 14,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"hit\",\n-\t.field_bit_size = 1,\n+\t.description = \"meta_prof\",\n+\t.field_bit_size = 3,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"type\",\n+\t.description = \"opcode\",\n \t.field_bit_size = 3,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {\n-\t1}\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n-\t/* class_tid: 3, thor, table: parif_def_arec_ptr.egr_0 */\n \t{\n-\t.description = \"act_rec_ptr\",\n-\t.field_bit_size = 32,\n+\t.description = \"data\",\n+\t.field_bit_size = 16,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n \t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n \tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n \t},\n-\t/* class_tid: 3, thor, table: parif_def_err_arec_ptr.egr_0 */\n \t{\n-\t.description = \"act_rec_ptr\",\n-\t.field_bit_size = 32,\n+\t.description = \"strength\",\n+\t.field_bit_size = 2,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t.field_opr1 = {\n-\t(BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,\n-\tBNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}\n+\t1}\n \t},\n-\t/* class_tid: 4, thor, table: int_full_act_record.loopback */\n+\t/* class_tid: 4, thor, table: int_full_act_record.0 */\n \t{\n \t.description = \"sp_rec_ptr\",\n \t.field_bit_size = 16,\n@@ -611,10 +28844,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 11,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,\n \t.field_opr1 = {\n-\t(ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,\n-\tULP_THOR_SYM_LOOPBACK_PORT & 0xff}\n+\t\t(BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC >> 8) & 0xff,\n+\t\tBNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff}\n \t},\n \t{\n \t.description = \"use_default\",\n@@ -660,27 +28893,44 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {\n \t.field_opr1 = {\n \t1}\n \t},\n-\t/* class_tid: 4, thor, table: parif_def_arec_ptr.vf_egr */\n+\t/* class_tid: 4, thor, table: port_table.wr_0 */\n \t{\n-\t.description = \"act_rec_ptr\",\n+\t.description = \"rid\",\n \t.field_bit_size = 32,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"drv_func.mac\",\n+\t.field_bit_size = 48,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"drv_func.parent.mac\",\n+\t.field_bit_size = 48,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n-\t(BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,\n-\tBNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}\n+\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n \t},\n-\t/* class_tid: 4, thor, table: parif_def_err_arec_ptr.vf_egr */\n \t{\n-\t.description = \"act_rec_ptr\",\n-\t.field_bit_size = 32,\n+\t.description = \"phy_port\",\n+\t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t},\n+\t{\n+\t.description = \"default_arec_ptr\",\n+\t.field_bit_size = 16,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n-\t(BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,\n-\tBNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0 & 0xff}\n \t},\n-\t/* class_tid: 4, thor, table: int_full_act_record.vf_ing */\n+\t/* class_tid: 4, thor, table: int_full_act_record.1 */\n \t{\n \t.description = \"sp_rec_ptr\",\n \t.field_bit_size = 16,\n@@ -739,10 +28989,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 11,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,\n \t.field_opr1 = {\n-\t(BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,\n-\tBNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}\n+\t\t(BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC >> 8) & 0xff,\n+\t\tBNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff}\n \t},\n \t{\n \t.description = \"use_default\",\n@@ -788,202 +29038,148 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {\n \t.field_opr1 = {\n \t1}\n \t},\n-\t/* class_tid: 4, thor, table: vtag_encap_record.vfr_egr0 */\n-\t{\n-\t.description = \"ecv_tun_type\",\n-\t.field_bit_size = 3,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n-\t},\n-\t{\n-\t.description = \"ecv_l4_type\",\n-\t.field_bit_size = 3,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n-\t},\n+\t/* class_tid: 4, thor, table: port_table.wr_1 */\n \t{\n-\t.description = \"ecv_l3_type\",\n-\t.field_bit_size = 3,\n+\t.description = \"rid\",\n+\t.field_bit_size = 32,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"ecv_l2_en\",\n-\t.field_bit_size = 1,\n+\t.description = \"drv_func.mac\",\n+\t.field_bit_size = 48,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n-\t.description = \"ecv_vtag_type\",\n-\t.field_bit_size = 4,\n+\t.description = \"drv_func.parent.mac\",\n+\t.field_bit_size = 48,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n-\tULP_THOR_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}\n-\t},\n-\t{\n-\t.description = \"rsrvd\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t(BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}\n \t},\n \t{\n-\t.description = \"ecv_valid\",\n-\t.field_bit_size = 1,\n+\t.description = \"phy_port\",\n+\t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t.field_opr1 = {\n \t1}\n \t},\n \t{\n-\t.description = \"vtag_tpid\",\n+\t.description = \"default_arec_ptr\",\n \t.field_bit_size = 16,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {\n-\t\t0x81,\n-\t\t0x00}\n-\t},\n-\t{\n-\t.description = \"vtag_vid\",\n-\t.field_bit_size = 12,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n-\t(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,\n-\tBNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}\n-\t},\n-\t{\n-\t.description = \"vtag_de\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t(BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1 >> 8) & 0xff,\n+\tBNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1 & 0xff}\n \t},\n+\t/* class_tid: 4, thor, table: parif_def_arec_ptr.ing_0 */\n \t{\n-\t.description = \"vtag_pcp\",\n-\t.field_bit_size = 3,\n+\t.description = \"act_rec_ptr\",\n+\t.field_bit_size = 32,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n-\t(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,\n-\tBNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}\n-\t},\n-\t/* class_tid: 4, thor, table: int_full_act_record.vfr_egr0 */\n-\t{\n-\t.description = \"sp_rec_ptr\",\n-\t.field_bit_size = 16,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}\n \t},\n+\t/* class_tid: 4, thor, table: parif_def_err_arec_ptr.ing_0 */\n \t{\n-\t.description = \"encap_ptr\",\n-\t.field_bit_size = 16,\n+\t.description = \"act_rec_ptr\",\n+\t.field_bit_size = 32,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n-\t(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,\n-\tBNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}\n-\t},\n-\t{\n-\t.description = \"mod_rec_ptr\",\n-\t.field_bit_size = 16,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n-\t},\n-\t{\n-\t.description = \"rsvd1\",\n-\t.field_bit_size = 16,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n-\t},\n-\t{\n-\t.description = \"rsvd0\",\n-\t.field_bit_size = 8,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n-\t},\n-\t{\n-\t.description = \"decap_func\",\n-\t.field_bit_size = 5,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n-\t},\n+\t(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,\n+\tBNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}\n+\t}\n+};\n+\n+struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {\n+\t/* class_tid: 1, thor, table: port_table.rd */\n \t{\n-\t.description = \"meter\",\n-\t.field_bit_size = 10,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"default_arec_ptr\",\n+\t.regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,\n+\t.ident_bit_size = 16,\n+\t.ident_bit_pos = 136\n \t},\n \t{\n-\t.description = \"stats_op\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"drv_func.parent.mac\",\n+\t.regfile_idx = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC,\n+\t.ident_bit_size = 48,\n+\t.ident_bit_pos = 80\n \t},\n \t{\n-\t.description = \"stats_ptr\",\n-\t.field_bit_size = 16,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"phy_port\",\n+\t.regfile_idx = BNXT_ULP_RF_IDX_PHY_PORT,\n+\t.ident_bit_size = 8,\n+\t.ident_bit_pos = 128\n \t},\n+\t/* class_tid: 1, thor, table: l2_cntxt_tcam.gre */\n \t{\n-\t.description = \"vnic_or_vport\",\n-\t.field_bit_size = 11,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {\n-\t(ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,\n-\tULP_THOR_SYM_LOOPBACK_PORT & 0xff}\n+\t.description = \"l2_cntxt_id\",\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n+\t.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,\n+\t.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,\n+\t.ident_bit_size = 10,\n+\t.ident_bit_pos = 29\n \t},\n+\t/* class_tid: 1, thor, table: profile_tcam.icmpv4 */\n \t{\n-\t.description = \"use_default\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"em_profile_id\",\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n+\t.ident_type = TF_IDENT_TYPE_EM_PROF,\n+\t.regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,\n+\t.ident_bit_size = 8,\n+\t.ident_bit_pos = 23\n \t},\n+\t/* class_tid: 1, thor, table: profile_tcam.icmpv6 */\n \t{\n-\t.description = \"mirror\",\n-\t.field_bit_size = 4,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"em_profile_id\",\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n+\t.ident_type = TF_IDENT_TYPE_EM_PROF,\n+\t.regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,\n+\t.ident_bit_size = 8,\n+\t.ident_bit_pos = 23\n \t},\n+\t/* class_tid: 2, thor, table: port_table.rd */\n \t{\n-\t.description = \"cond_copy\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"default_arec_ptr\",\n+\t.regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,\n+\t.ident_bit_size = 16,\n+\t.ident_bit_pos = 136\n \t},\n \t{\n-\t.description = \"vlan_del_rpt\",\n-\t.field_bit_size = 2,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"drv_func.parent.mac\",\n+\t.regfile_idx = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC,\n+\t.ident_bit_size = 48,\n+\t.ident_bit_pos = 80\n \t},\n \t{\n-\t.description = \"drop\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"phy_port\",\n+\t.regfile_idx = BNXT_ULP_RF_IDX_PHY_PORT,\n+\t.ident_bit_size = 8,\n+\t.ident_bit_pos = 128\n \t},\n+\t/* class_tid: 2, thor, table: l2_cntxt_tcam.0 */\n \t{\n-\t.description = \"hit\",\n-\t.field_bit_size = 1,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t.description = \"l2_cntxt_id\",\n+\t.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,\n+\t.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,\n+\t.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,\n+\t.ident_bit_size = 10,\n+\t.ident_bit_pos = 29\n \t},\n+\t/* class_tid: 4, thor, table: port_table.rd */\n \t{\n-\t.description = \"type\",\n-\t.field_bit_size = 3,\n-\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {\n-\t\t1}\n+\t.description = \"default_arec_ptr\",\n+\t.regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,\n+\t.ident_bit_size = 16,\n+\t.ident_bit_pos = 136\n \t}\n };\n \n-struct\n-bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {\n-};\n-\n-struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {\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 ca385b66f9..fa3c3507b6 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@@ -3,7 +3,7 @@\n  * All rights reserved.\n  */\n \n-/* date: Sun Mar 21 13:04:51 2021 */\n+/* date: Wed Apr 14 09:56:27 2021 */\n \n #include \"ulp_template_db_enum.h\"\n #include \"ulp_template_db_field.h\"\n@@ -94,8 +94,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n \t.key_start_idx = 1,\n-\t.blob_key_bit_size = 70,\n-\t.key_bit_size = 70,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n \t.key_num_fields = 5,\n \t.ident_start_idx = 1,\n \t.ident_nums = 1\n@@ -156,8 +156,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n \t.key_start_idx = 19,\n-\t.blob_key_bit_size = 70,\n-\t.key_bit_size = 70,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n \t.key_num_fields = 5,\n \t.result_start_idx = 13,\n \t.result_bit_size = 62,\n@@ -209,13 +209,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t\t.cond_start_idx = 4,\n \t\t.cond_nums = 1 },\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n-\t.cc_upd_info = {\n-\t\t.cc_opc = BNXT_ULP_CC_UPD_OPC_EQ,\n-\t\t.cc_src1 = BNXT_ULP_CC_UPD_SRC_REGFILE,\n-\t\t.cc_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,\n-\t\t.cc_src2 = BNXT_ULP_CC_UPD_SRC_REGFILE,\n-\t\t.cc_opr2 = BNXT_ULP_RF_IDX_CF_FLOW_SIG_ID,\n-\t\t.cc_dst_opr = BNXT_ULP_RF_IDX_CC },\n+\t.func_info = {\n+\t\t.func_opc = BNXT_ULP_FUNC_OPC_EQ,\n+\t\t.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,\n+\t\t.func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,\n+\t\t.func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,\n+\t\t.func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,\n+\t\t.func_dst_opr = BNXT_ULP_RF_IDX_CC },\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n \t},\n \t{ /* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */\n@@ -320,7 +320,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.key_bit_size = 14,\n \t.key_num_fields = 3,\n \t.result_start_idx = 68,\n-\t.result_bit_size = 74,\n+\t.result_bit_size = 90,\n \t.result_num_fields = 5\n \t},\n \t{ /* class_tid: 1, wh_plus, table: em.ipv4 */\n@@ -493,8 +493,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n \t.key_start_idx = 224,\n-\t.blob_key_bit_size = 70,\n-\t.key_bit_size = 70,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n \t.key_num_fields = 5,\n \t.ident_start_idx = 10,\n \t.ident_nums = 1\n@@ -555,8 +555,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE,\n \t.key_start_idx = 242,\n-\t.blob_key_bit_size = 70,\n-\t.key_bit_size = 70,\n+\t.blob_key_bit_size = 73,\n+\t.key_bit_size = 73,\n \t.key_num_fields = 5,\n \t.result_start_idx = 140,\n \t.result_bit_size = 62,\n@@ -607,13 +607,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t\t.cond_start_idx = 28,\n \t\t.cond_nums = 1 },\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,\n-\t.cc_upd_info = {\n-\t\t.cc_opc = BNXT_ULP_CC_UPD_OPC_EQ,\n-\t\t.cc_src1 = BNXT_ULP_CC_UPD_SRC_REGFILE,\n-\t\t.cc_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,\n-\t\t.cc_src2 = BNXT_ULP_CC_UPD_SRC_COMP_FIELD,\n-\t\t.cc_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,\n-\t\t.cc_dst_opr = BNXT_ULP_RF_IDX_CC },\n+\t.func_info = {\n+\t\t.func_opc = BNXT_ULP_FUNC_OPC_EQ,\n+\t\t.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,\n+\t\t.func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,\n+\t\t.func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,\n+\t\t.func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,\n+\t\t.func_dst_opr = BNXT_ULP_RF_IDX_CC },\n \t.byte_order = BNXT_ULP_BYTE_ORDER_LE\n \t},\n \t{ /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */\n@@ -690,7 +690,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.key_bit_size = 14,\n \t.key_num_fields = 3,\n \t.result_start_idx = 178,\n-\t.result_bit_size = 74,\n+\t.result_bit_size = 90,\n \t.result_num_fields = 5\n \t},\n \t{ /* class_tid: 2, wh_plus, table: em.ipv4 */\n@@ -1883,7 +1883,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t{\n \t.field_info_mask = {\n \t\t.description = \"tun_hdr\",\n-\t\t.field_bit_size = 1,\n+\t\t.field_bit_size = 4,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t\t.field_opr1 = {\n@@ -1891,7 +1891,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"tun_hdr\",\n-\t\t.field_bit_size = 1,\n+\t\t.field_bit_size = 4,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t\t.field_opr1 = {\n@@ -2239,7 +2239,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t{\n \t.field_info_mask = {\n \t\t.description = \"tun_hdr\",\n-\t\t.field_bit_size = 1,\n+\t\t.field_bit_size = 4,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t\t.field_opr1 = {\n@@ -2247,7 +2247,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"tun_hdr\",\n-\t\t.field_bit_size = 1,\n+\t\t.field_bit_size = 4,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t\t.field_opr1 = {\n@@ -5714,7 +5714,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t{\n \t.field_info_mask = {\n \t\t.description = \"tun_hdr\",\n-\t\t.field_bit_size = 1,\n+\t\t.field_bit_size = 4,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t\t.field_opr1 = {\n@@ -5722,7 +5722,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"tun_hdr\",\n-\t\t.field_bit_size = 1,\n+\t\t.field_bit_size = 4,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t\t.field_opr1 = {\n@@ -6070,7 +6070,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t{\n \t.field_info_mask = {\n \t\t.description = \"tun_hdr\",\n-\t\t.field_bit_size = 1,\n+\t\t.field_bit_size = 4,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t\t.field_opr1 = {\n@@ -6078,7 +6078,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"tun_hdr\",\n-\t\t.field_bit_size = 1,\n+\t\t.field_bit_size = 4,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t\t.field_opr1 = {\n@@ -10076,7 +10076,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t1}\n \t\t}\n \t},\n-\t/* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */\n+\t/* class_tid: 4,  table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */\n \t{\n \t.field_info_mask = {\n \t\t.description = \"l2_ivlan_vid\",\n@@ -10852,7 +10852,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t},\n \t{\n \t.description = \"flow_sig_id\",\n-\t.field_bit_size = 16,\n+\t.field_bit_size = 32,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -11711,7 +11711,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t},\n \t{\n \t.description = \"flow_sig_id\",\n-\t.field_bit_size = 16,\n+\t.field_bit_size = 32,\n \t.field_opc = BNXT_ULP_FIELD_OPC_SRC1,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -14176,7 +14176,7 @@ struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = {\n \t{\n \t.description = \"flow_sig_id\",\n \t.regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,\n-\t.ident_bit_size = 16,\n+\t.ident_bit_size = 32,\n \t.ident_bit_pos = 58\n \t},\n \t{\n@@ -14245,7 +14245,7 @@ struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = {\n \t{\n \t.description = \"flow_sig_id\",\n \t.regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,\n-\t.ident_bit_size = 16,\n+\t.ident_bit_size = 32,\n \t.ident_bit_pos = 58\n \t},\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 904710c7f0..0cbac66237 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h\n@@ -70,7 +70,7 @@ struct ulp_rte_parser_params {\n \tstruct ulp_rte_field_bitmap\tfld_bitmap;\n \tstruct ulp_rte_field_bitmap\tfld_s_bitmap;\n \tstruct ulp_rte_hdr_field\thdr_field[BNXT_ULP_PROTO_HDR_MAX];\n-\tuint32_t\t\t\tcomp_fld[BNXT_ULP_CF_IDX_LAST];\n+\tuint64_t\t\t\tcomp_fld[BNXT_ULP_CF_IDX_LAST];\n \tuint32_t\t\t\tfield_idx;\n \tstruct ulp_rte_act_bitmap\tact_bitmap;\n \tstruct ulp_rte_act_prop\t\tact_prop;\n@@ -176,13 +176,13 @@ struct bnxt_ulp_mapper_cond_list_info {\n \tint32_t cond_false_goto;\n };\n \n-struct bnxt_ulp_mapper_cc_upd_info {\n-\tenum bnxt_ulp_cc_upd_opc\tcc_opc;\n-\tenum bnxt_ulp_cc_upd_src\tcc_src1;\n-\tenum bnxt_ulp_cc_upd_src\tcc_src2;\n-\tuint16_t\t\t\tcc_opr1;\n-\tuint16_t\t\t\tcc_opr2;\n-\tuint16_t\t\t\tcc_dst_opr;\n+struct bnxt_ulp_mapper_func_info {\n+\tenum bnxt_ulp_func_opc\t\tfunc_opc;\n+\tenum bnxt_ulp_func_src\t\tfunc_src1;\n+\tenum bnxt_ulp_func_src\t\tfunc_src2;\n+\tuint16_t\t\t\tfunc_opr1;\n+\tuint16_t\t\t\tfunc_opr2;\n+\tuint16_t\t\t\tfunc_dst_opr;\n };\n \n struct bnxt_ulp_template_device_tbls {\n@@ -244,7 +244,7 @@ struct bnxt_ulp_mapper_tbl_info {\n \tuint32_t\t\t\tresource_type; /* TF_ enum type */\n \tenum bnxt_ulp_resource_sub_type\tresource_sub_type;\n \tstruct bnxt_ulp_mapper_cond_list_info execute_info;\n-\tstruct bnxt_ulp_mapper_cc_upd_info cc_upd_info;\n+\tstruct bnxt_ulp_mapper_func_info func_info;\n \tenum bnxt_ulp_cond_opc cond_opcode;\n \tuint32_t cond_operand;\n \tuint8_t\t\t\t\tdirection;\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_utils.c b/drivers/net/bnxt/tf_ulp/ulp_utils.c\nindex 1649e157f2..bafb539c8d 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_utils.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_utils.c\n@@ -62,7 +62,7 @@ ulp_regfile_read(struct ulp_regfile *regfile,\n  * data [in] The value is written into this variable.  It is going to be in the\n  * same byte order as it was written.\n  *\n- * size [in] The size in bytes of the value beingritten into this\n+ * size [in] The size in bytes of the value being written into this\n  * variable.\n  *\n  * returns 0 on success\n@@ -295,7 +295,7 @@ ulp_blob_push(struct ulp_blob *blob,\n \t\t\t\t     datalen,\n \t\t\t\t     data);\n \tif (!rc) {\n-\t\tBNXT_TF_DBG(ERR, \"Failed ro write blob\\n\");\n+\t\tBNXT_TF_DBG(ERR, \"Failed to write blob\\n\");\n \t\treturn 0;\n \t}\n \tblob->write_idx += datalen;\n@@ -355,7 +355,7 @@ ulp_blob_insert(struct ulp_blob *blob, uint32_t offset,\n \t\t\t\t     datalen,\n \t\t\t\t     data);\n \tif (!rc) {\n-\t\tBNXT_TF_DBG(ERR, \"Failed ro write blob\\n\");\n+\t\tBNXT_TF_DBG(ERR, \"Failed to write blob\\n\");\n \t\treturn 0;\n \t}\n \t/* copy the previously stored data */\n@@ -409,7 +409,7 @@ ulp_blob_push_64(struct ulp_blob *blob,\n  *\n  * data [in] 32-bit value to be added to the blob.\n  *\n- * datalen [in] The number of bits to be added ot the blob.\n+ * datalen [in] The number of bits to be added to the blob.\n  *\n  * The offset of the data is updated after each push of data.\n  * NULL returned on error, pointer pushed value otherwise.\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_utils.h b/drivers/net/bnxt/tf_ulp/ulp_utils.h\nindex 209c8fa6a4..e1b0e773f3 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_utils.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_utils.h\n@@ -64,10 +64,10 @@\n \n /* Macros to read the computed fields */\n #define ULP_COMP_FLD_IDX_RD(params, idx) \\\n-\trte_be_to_cpu_32((params)->comp_fld[(idx)])\n+\trte_be_to_cpu_64((params)->comp_fld[(idx)])\n \n #define ULP_COMP_FLD_IDX_WR(params, idx, val)\t\\\n-\t((params)->comp_fld[(idx)] = rte_cpu_to_be_32((val)))\n+\t((params)->comp_fld[(idx)] = rte_cpu_to_be_64((uint64_t)(val)))\n /*\n  * Making the blob statically sized to 128 bytes for now.\n  * The blob must be initialized with ulp_blob_init prior to using.\n",
    "prefixes": [
        "v2",
        "56/58"
    ]
}