get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 94134,
    "url": "https://patches.dpdk.org/api/patches/94134/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210613000652.28191-44-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-44-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210613000652.28191-44-ajit.khaparde@broadcom.com",
    "date": "2021-06-13T00:06:37",
    "name": "[v2,43/58] net/bnxt: enable extended exact match support",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "e4c36380d5a98356414a8974cfd92266ec6fb710",
    "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-44-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/94134/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/94134/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 A1239A0C41;\n\tSun, 13 Jun 2021 02:13:07 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B668141149;\n\tSun, 13 Jun 2021 02:08:35 +0200 (CEST)",
            "from mail-pj1-f52.google.com (mail-pj1-f52.google.com\n [209.85.216.52]) by mails.dpdk.org (Postfix) with ESMTP id 24A0941180\n for <dev@dpdk.org>; Sun, 13 Jun 2021 02:08:33 +0200 (CEST)",
            "by mail-pj1-f52.google.com with SMTP id\n z3-20020a17090a3983b029016bc232e40bso8059168pjb.4\n for <dev@dpdk.org>; Sat, 12 Jun 2021 17:08:33 -0700 (PDT)",
            "from localhost.localdomain ([192.19.223.252])\n by smtp.gmail.com with ESMTPSA id gg22sm12774609pjb.17.2021.06.12.17.08.28\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Sat, 12 Jun 2021 17:08:29 -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=mXw5hFmUgQ1N9RofcP0EMYseHicn6IQoVusrm73ruz4=;\n b=edeh+bXHbDFAtOWziGEK401TY70++FMglIgCtvEeVAjJbNTy1DzwKjgNMb4EP8lSi/\n yIwR6EuHumsvWWc/ojta6UITLDfSc4fsIJ+Dt6W41RLUaIHiP0IqFL6AJ65p4qh2OvY2\n s4hzmkofDQvtOByyuHijMwD4A+JBMjkA4KeKw=",
        "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=mXw5hFmUgQ1N9RofcP0EMYseHicn6IQoVusrm73ruz4=;\n b=mMziYlME7V4GlRV//lLAhkhsWOvENPZ0qfFJlYpCiXEnNUFpq5hlGVJ/3ykOHxheAj\n 7BilVbNQJT5yUG+5Y7p8iooizME3cQea7bM+jZIPnTzVlslz0wJ8eU2OK5pWmAHwhjRx\n GLHp/Rtb8ZHDGS2W6WY14HbzAgFFbsHLttJi/aqJZl8GbK3GgRu0AwTTDn7nknrLoUzc\n C22I10/oCX2Av6yljrtgMPiPrO+2uVeDoiIt0EQq/fbp1ykHgrZ+Ov3lRt4Xv+Rab9uM\n EXGPvGWBfjqM871hhNavgS/9512noo/9ZVcKNbC7jbQoJmYSVyENUonN0Sp4lKQfPTTN\n jjPw==",
        "X-Gm-Message-State": "AOAM530UovwEbvV+c2np1m3Qc5qL0oaPK1XqeOu5CsTE5t0y973UTDm3\n SgL4G8ta9oqVe3zu6eCJSSFMSEtEukdc3l2f+ml5Q1/nttXl4xNgHhdm9oux6w1uyipag8hh0AX\n 3TWyyZUMuZ9IIV4XpRDeMP8Hrs+PO21w7oegyjybJCHWc+a9KQ0/8q+ZBZ/oFNe8=",
        "X-Google-Smtp-Source": "\n ABdhPJyHcJ2vmO8KYYz1+LkGtKE8yR+/OQFygiOj8YYN0vWG7ZAXqo1ZX8sEDVKaMgNMxm+9J7P+8Q==",
        "X-Received": "by 2002:a17:90a:be0b:: with SMTP id\n a11mr11563354pjs.197.1623542910319;\n Sat, 12 Jun 2021 17:08:30 -0700 (PDT)",
        "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>",
        "To": "dev@dpdk.org",
        "Cc": "Kishore Padmanabha <kishore.padmanabha@broadcom.com>,\n Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>,\n Randy Schacher <stuart.schacher@broadcom.com>,\n Farah Smith <farah.smith@broadcom.com>",
        "Date": "Sat, 12 Jun 2021 17:06:37 -0700",
        "Message-Id": "<20210613000652.28191-44-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=\"00000000000087455e05c49a8a9f\"",
        "X-Content-Filtered-By": "Mailman/MimeDel 2.1.29",
        "Subject": "[dpdk-dev] [PATCH v2 43/58] net/bnxt: enable extended exact match\n support",
        "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: Kishore Padmanabha <kishore.padmanabha@broadcom.com>\n\nThe templates are updated to enable the extended exact match\ntable support. As part of this change, the action record size of\nthe action has to be calculated dynamically so it can be included\nin the match table.\n\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: Farah Smith <farah.smith@broadcom.com>\nReviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/tf_ulp/ulp_mapper.c          |  12 +\n drivers/net/bnxt/tf_ulp/ulp_template_db_act.c |  87 +-\n .../net/bnxt/tf_ulp/ulp_template_db_enum.h    |  15 +-\n .../net/bnxt/tf_ulp/ulp_template_db_field.h   |   2 +\n drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c | 712 ++++++-------\n .../bnxt/tf_ulp/ulp_template_db_wh_plus_act.c | 141 ++-\n .../tf_ulp/ulp_template_db_wh_plus_class.c    | 936 +++++++++++++-----\n 7 files changed, 1283 insertions(+), 622 deletions(-)",
    "diff": "diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\nindex df8041e897..3d7bf2f264 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c\n@@ -2042,6 +2042,7 @@ ulp_mapper_index_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \tbool alloc = false;\n \tbool write = false;\n \tbool search = false;\n+\tuint64_t act_rec_size;\n \n \t/* use the max size if encap is enabled */\n \tif (tbl->encap_num_fields)\n@@ -2286,6 +2287,17 @@ ulp_mapper_index_tbl_process(struct bnxt_ulp_mapper_parms *parms,\n \t\t\t\t    sparms.idx, rc);\n \t\t\tgoto error;\n \t\t}\n+\n+\t\t/* Calculate action record size */\n+\t\tif (tbl->resource_type == TF_TBL_TYPE_EXT) {\n+\t\t\tact_rec_size = (ULP_BITS_2_BYTE_NR(tmplen) + 15) / 16;\n+\t\t\tact_rec_size--;\n+\t\t\tif (ulp_regfile_write(parms->regfile,\n+\t\t\t\t\t      BNXT_ULP_RF_IDX_ACTION_REC_SIZE,\n+\t\t\t\t\t      tfp_cpu_to_be_64(act_rec_size)))\n+\t\t\t\tBNXT_TF_DBG(ERR,\n+\t\t\t\t\t    \"Failed write the act rec size\\n\");\n+\t\t}\n \t}\n \n \t/* Link the resource to the flow in the flow db */\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_act.c\nindex 29ec409ee8..500bf215d9 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_act.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_act.c\n@@ -3,7 +3,7 @@\n  * All rights reserved.\n  */\n \n-/* date: Thu Dec 17 19:43:07 2020 */\n+/* date: Tue Jan 26 15:51:49 2021 */\n \n #include \"ulp_template_db_enum.h\"\n #include \"ulp_template_db_field.h\"\n@@ -106,12 +106,14 @@ uint16_t ulp_act_sig_tbl[BNXT_ULP_ACT_SIG_TBL_MAX_SZ] = {\n struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t[1] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0000,\n+\t.act_pattern_id = 0,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_ING },\n \t.act_tid = 1\n \t},\n \t[2] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0001,\n+\t.act_pattern_id = 1,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DROP |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_ING },\n@@ -119,6 +121,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[3] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0400,\n+\t.act_pattern_id = 2,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_POP_VLAN |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_ING },\n@@ -126,6 +129,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[4] = {\n \t.act_hid = BNXT_ULP_ACT_HID_01ab,\n+\t.act_pattern_id = 3,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_ING },\n@@ -133,6 +137,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[5] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0010,\n+\t.act_pattern_id = 4,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_VXLAN_DECAP |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_ING },\n@@ -140,6 +145,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[6] = {\n \t.act_hid = BNXT_ULP_ACT_HID_05ab,\n+\t.act_pattern_id = 5,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_POP_VLAN |\n@@ -148,6 +154,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[7] = {\n \t.act_hid = BNXT_ULP_ACT_HID_01bb,\n+\t.act_pattern_id = 6,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_VXLAN_DECAP |\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n@@ -156,6 +163,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[8] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0002,\n+\t.act_pattern_id = 7,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_ING },\n@@ -163,6 +171,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[9] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0003,\n+\t.act_pattern_id = 8,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_DROP |\n@@ -171,6 +180,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[10] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0402,\n+\t.act_pattern_id = 9,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_POP_VLAN |\n@@ -179,6 +189,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[11] = {\n \t.act_hid = BNXT_ULP_ACT_HID_01ad,\n+\t.act_pattern_id = 10,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n@@ -187,6 +198,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[12] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0012,\n+\t.act_pattern_id = 11,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_VXLAN_DECAP |\n@@ -195,6 +207,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[13] = {\n \t.act_hid = BNXT_ULP_ACT_HID_05ad,\n+\t.act_pattern_id = 12,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n@@ -204,6 +217,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[14] = {\n \t.act_hid = BNXT_ULP_ACT_HID_01bd,\n+\t.act_pattern_id = 13,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_VXLAN_DECAP |\n@@ -213,6 +227,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[15] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0613,\n+\t.act_pattern_id = 14,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_DROP |\n@@ -221,6 +236,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[16] = {\n \t.act_hid = BNXT_ULP_ACT_HID_02a9,\n+\t.act_pattern_id = 15,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_POP_VLAN |\n@@ -229,6 +245,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[17] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0054,\n+\t.act_pattern_id = 16,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n@@ -237,6 +254,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[18] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0622,\n+\t.act_pattern_id = 17,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_VXLAN_DECAP |\n@@ -245,6 +263,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[19] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0454,\n+\t.act_pattern_id = 18,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n@@ -254,6 +273,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[20] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0064,\n+\t.act_pattern_id = 19,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_VXLAN_DECAP |\n@@ -263,6 +283,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[21] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0614,\n+\t.act_pattern_id = 20,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -271,6 +292,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[22] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0615,\n+\t.act_pattern_id = 21,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -280,6 +302,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[23] = {\n \t.act_hid = BNXT_ULP_ACT_HID_02ab,\n+\t.act_pattern_id = 22,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -289,6 +312,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[24] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0056,\n+\t.act_pattern_id = 23,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -298,6 +322,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[25] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0624,\n+\t.act_pattern_id = 24,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -307,6 +332,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[26] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0456,\n+\t.act_pattern_id = 25,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -317,6 +343,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[27] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0066,\n+\t.act_pattern_id = 26,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED_SAMPLE |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -327,6 +354,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[28] = {\n \t.act_hid = BNXT_ULP_ACT_HID_048d,\n+\t.act_pattern_id = 0,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED |\n \t\tBNXT_ULP_ACT_BIT_SAMPLE |\n@@ -335,6 +363,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[29] = {\n \t.act_hid = BNXT_ULP_ACT_HID_048f,\n+\t.act_pattern_id = 1,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SHARED |\n \t\tBNXT_ULP_ACT_BIT_SAMPLE |\n@@ -344,6 +373,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[30] = {\n \t.act_hid = BNXT_ULP_ACT_HID_04bc,\n+\t.act_pattern_id = 0,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_ING },\n@@ -351,6 +381,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[31] = {\n \t.act_hid = BNXT_ULP_ACT_HID_00a9,\n+\t.act_pattern_id = 1,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n \t\tBNXT_ULP_ACT_BIT_SET_TP_SRC |\n@@ -359,6 +390,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[32] = {\n \t.act_hid = BNXT_ULP_ACT_HID_020f,\n+\t.act_pattern_id = 2,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_ING },\n@@ -366,6 +398,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[33] = {\n \t.act_hid = BNXT_ULP_ACT_HID_04a9,\n+\t.act_pattern_id = 3,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n \t\tBNXT_ULP_ACT_BIT_SET_TP_SRC |\n@@ -375,6 +408,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[34] = {\n \t.act_hid = BNXT_ULP_ACT_HID_01fc,\n+\t.act_pattern_id = 4,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -385,6 +419,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[35] = {\n \t.act_hid = BNXT_ULP_ACT_HID_04be,\n+\t.act_pattern_id = 5,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -393,6 +428,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[36] = {\n \t.act_hid = BNXT_ULP_ACT_HID_00ab,\n+\t.act_pattern_id = 6,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -402,6 +438,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[37] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0211,\n+\t.act_pattern_id = 7,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -410,6 +447,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[38] = {\n \t.act_hid = BNXT_ULP_ACT_HID_04ab,\n+\t.act_pattern_id = 8,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -420,6 +458,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[39] = {\n \t.act_hid = BNXT_ULP_ACT_HID_01fe,\n+\t.act_pattern_id = 9,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -431,6 +470,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[40] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0667,\n+\t.act_pattern_id = 10,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -439,6 +479,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[41] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0254,\n+\t.act_pattern_id = 11,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -448,6 +489,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[42] = {\n \t.act_hid = BNXT_ULP_ACT_HID_03ba,\n+\t.act_pattern_id = 12,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -456,6 +498,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[43] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0654,\n+\t.act_pattern_id = 13,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -466,6 +509,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[44] = {\n \t.act_hid = BNXT_ULP_ACT_HID_03a7,\n+\t.act_pattern_id = 14,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -477,6 +521,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[45] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0669,\n+\t.act_pattern_id = 15,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -486,6 +531,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[46] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0256,\n+\t.act_pattern_id = 16,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -496,6 +542,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[47] = {\n \t.act_hid = BNXT_ULP_ACT_HID_03bc,\n+\t.act_pattern_id = 17,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -505,6 +552,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[48] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0656,\n+\t.act_pattern_id = 18,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -516,6 +564,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[49] = {\n \t.act_hid = BNXT_ULP_ACT_HID_03a9,\n+\t.act_pattern_id = 19,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -528,12 +577,14 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[50] = {\n \t.act_hid = BNXT_ULP_ACT_HID_021b,\n+\t.act_pattern_id = 0,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_EGR },\n \t.act_tid = 4\n \t},\n \t[51] = {\n \t.act_hid = BNXT_ULP_ACT_HID_021c,\n+\t.act_pattern_id = 1,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DROP |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_EGR },\n@@ -541,6 +592,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[52] = {\n \t.act_hid = BNXT_ULP_ACT_HID_021e,\n+\t.act_pattern_id = 2,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DROP |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -549,6 +601,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[53] = {\n \t.act_hid = BNXT_ULP_ACT_HID_063f,\n+\t.act_pattern_id = 3,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_VLAN_PCP |\n \t\tBNXT_ULP_ACT_BIT_SET_VLAN_VID |\n@@ -558,6 +611,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[54] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0510,\n+\t.act_pattern_id = 4,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_VLAN_VID |\n \t\tBNXT_ULP_ACT_BIT_PUSH_VLAN |\n@@ -566,6 +620,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[55] = {\n \t.act_hid = BNXT_ULP_ACT_HID_03c6,\n+\t.act_pattern_id = 5,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_EGR },\n@@ -573,6 +628,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[56] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0082,\n+\t.act_pattern_id = 6,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_VLAN_PCP |\n@@ -583,6 +639,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[57] = {\n \t.act_hid = BNXT_ULP_ACT_HID_06bb,\n+\t.act_pattern_id = 7,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_VLAN_VID |\n@@ -592,6 +649,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[58] = {\n \t.act_hid = BNXT_ULP_ACT_HID_021d,\n+\t.act_pattern_id = 8,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_EGR },\n@@ -599,6 +657,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[59] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0641,\n+\t.act_pattern_id = 9,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_VLAN_PCP |\n@@ -609,6 +668,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[60] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0512,\n+\t.act_pattern_id = 10,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_VLAN_VID |\n@@ -618,6 +678,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[61] = {\n \t.act_hid = BNXT_ULP_ACT_HID_03c8,\n+\t.act_pattern_id = 11,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n@@ -626,6 +687,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[62] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0084,\n+\t.act_pattern_id = 12,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n@@ -637,6 +699,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[63] = {\n \t.act_hid = BNXT_ULP_ACT_HID_06bd,\n+\t.act_pattern_id = 13,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n@@ -647,6 +710,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[64] = {\n \t.act_hid = BNXT_ULP_ACT_HID_06d7,\n+\t.act_pattern_id = 0,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_EGR },\n@@ -654,6 +718,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[65] = {\n \t.act_hid = BNXT_ULP_ACT_HID_02c4,\n+\t.act_pattern_id = 1,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n \t\tBNXT_ULP_ACT_BIT_SET_TP_SRC |\n@@ -662,6 +727,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[66] = {\n \t.act_hid = BNXT_ULP_ACT_HID_042a,\n+\t.act_pattern_id = 2,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_EGR },\n@@ -669,6 +735,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[67] = {\n \t.act_hid = BNXT_ULP_ACT_HID_06c4,\n+\t.act_pattern_id = 3,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n \t\tBNXT_ULP_ACT_BIT_SET_TP_SRC |\n@@ -678,6 +745,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[68] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0417,\n+\t.act_pattern_id = 4,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -688,6 +756,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[69] = {\n \t.act_hid = BNXT_ULP_ACT_HID_06d9,\n+\t.act_pattern_id = 5,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -696,6 +765,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[70] = {\n \t.act_hid = BNXT_ULP_ACT_HID_02c6,\n+\t.act_pattern_id = 6,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -705,6 +775,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[71] = {\n \t.act_hid = BNXT_ULP_ACT_HID_042c,\n+\t.act_pattern_id = 7,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -713,6 +784,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[72] = {\n \t.act_hid = BNXT_ULP_ACT_HID_06c6,\n+\t.act_pattern_id = 8,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -723,6 +795,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[73] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0419,\n+\t.act_pattern_id = 9,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -734,6 +807,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[74] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0119,\n+\t.act_pattern_id = 10,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -742,6 +816,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[75] = {\n \t.act_hid = BNXT_ULP_ACT_HID_046f,\n+\t.act_pattern_id = 11,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -751,6 +826,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[76] = {\n \t.act_hid = BNXT_ULP_ACT_HID_05d5,\n+\t.act_pattern_id = 12,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -759,6 +835,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[77] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0106,\n+\t.act_pattern_id = 13,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_DST |\n@@ -769,6 +846,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[78] = {\n \t.act_hid = BNXT_ULP_ACT_HID_05c2,\n+\t.act_pattern_id = 14,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_SET_IPV4_SRC |\n@@ -780,6 +858,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[79] = {\n \t.act_hid = BNXT_ULP_ACT_HID_011b,\n+\t.act_pattern_id = 15,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -789,6 +868,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[80] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0471,\n+\t.act_pattern_id = 16,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -799,6 +879,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[81] = {\n \t.act_hid = BNXT_ULP_ACT_HID_05d7,\n+\t.act_pattern_id = 17,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -808,6 +889,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[82] = {\n \t.act_hid = BNXT_ULP_ACT_HID_0108,\n+\t.act_pattern_id = 18,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -819,6 +901,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[83] = {\n \t.act_hid = BNXT_ULP_ACT_HID_05c4,\n+\t.act_pattern_id = 19,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_DEC_TTL |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\n@@ -831,6 +914,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[84] = {\n \t.act_hid = BNXT_ULP_ACT_HID_00a2,\n+\t.act_pattern_id = 0,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_VXLAN_ENCAP |\n \t\tBNXT_ULP_FLOW_DIR_BITMASK_EGR },\n@@ -838,6 +922,7 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {\n \t},\n \t[85] = {\n \t.act_hid = BNXT_ULP_ACT_HID_00a4,\n+\t.act_pattern_id = 1,\n \t.act_sig = { .bits =\n \t\tBNXT_ULP_ACT_BIT_VXLAN_ENCAP |\n \t\tBNXT_ULP_ACT_BIT_COUNT |\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 5e839107a8..6c4950d649 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,12 +3,12 @@\n  * All rights reserved.\n  */\n \n-/* date: Thu Dec 17 19:43:07 2020 */\n+/* date: Tue Jan 26 15:51:49 2021 */\n \n #ifndef ULP_TEMPLATE_DB_H_\n #define ULP_TEMPLATE_DB_H_\n \n-#define BNXT_ULP_REGFILE_MAX_SZ 32\n+#define BNXT_ULP_REGFILE_MAX_SZ 34\n #define BNXT_ULP_MAX_NUM_DEVICES 4\n #define BNXT_ULP_LOG2_MAX_NUM_DEV 2\n #define BNXT_ULP_GEN_TBL_MAX_SZ 6\n@@ -30,13 +30,13 @@\n #define BNXT_ULP_GLB_TEMPLATE_TBL_MAX_SZ 1\n #define BNXT_ULP_GLB_FIELD_TBL_SHIFT 7\n #define BNXT_ULP_HDR_SIG_ID_SHIFT 4\n-#define BNXT_ULP_GLB_FIELD_TBL_SIZE 5593\n+#define BNXT_ULP_GLB_FIELD_TBL_SIZE 5595\n #define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 8\n #define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 63\n-#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 412\n+#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 410\n #define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 17\n #define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 503\n-#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 16\n+#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 18\n #define ULP_STINGRAY_CLASS_TMPL_LIST_SIZE 7\n #define ULP_STINGRAY_CLASS_TBL_LIST_SIZE 38\n #define ULP_STINGRAY_CLASS_KEY_INFO_LIST_SIZE 192\n@@ -392,7 +392,9 @@ enum bnxt_ulp_rf_idx {\n \tBNXT_ULP_RF_IDX_HDR_SIG_ID = 29,\n \tBNXT_ULP_RF_IDX_FLOW_SIG_ID = 30,\n \tBNXT_ULP_RF_IDX_RID = 31,\n-\tBNXT_ULP_RF_IDX_LAST = 32\n+\tBNXT_ULP_RF_IDX_WC_KEY_ID_0 = 32,\n+\tBNXT_ULP_RF_IDX_EM_KEY_ID_0 = 33,\n+\tBNXT_ULP_RF_IDX_LAST = 34\n };\n \n enum bnxt_ulp_tcam_tbl_opc {\n@@ -4941,4 +4943,5 @@ enum bnxt_ulp_df_tpl {\n \tBNXT_ULP_DF_TPL_VF_TO_VFREP = 6,\n \tBNXT_ULP_DF_TPL_LOOPBACK_ACTION_REC = 7\n };\n+\n #endif\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_field.h b/drivers/net/bnxt/tf_ulp/ulp_template_db_field.h\nindex a6a4b472f4..0823a1300c 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_field.h\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_field.h\n@@ -17,6 +17,8 @@ enum bnxt_ulp_glb_hf {\n \tBNXT_ULP_GLB_HF_ID_I_ETH_SMAC,\n \tBNXT_ULP_GLB_HF_ID_O_ETH_TYPE,\n \tBNXT_ULP_GLB_HF_ID_I_ETH_TYPE,\n+\tBNXT_ULP_GLB_HF_ID_T_GRE_VER,\n+\tBNXT_ULP_GLB_HF_ID_T_GRE_PROTO_TYPE,\n \tBNXT_ULP_GLB_HF_ID_O_IPV4_VER,\n \tBNXT_ULP_GLB_HF_ID_I_IPV4_VER,\n \tBNXT_ULP_GLB_HF_ID_O_IPV4_TOS,\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 64cf6534b9..26e0ddfb1e 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@@ -316,476 +316,476 @@ uint8_t ulp_glb_field_tbl[] = {\n \t[2050] = 2,\n \t[2052] = 3,\n \t[2054] = 4,\n-\t[2056] = 5,\n-\t[2058] = 6,\n-\t[2060] = 7,\n-\t[2062] = 8,\n-\t[2064] = 9,\n-\t[2066] = 10,\n-\t[2068] = 11,\n-\t[2070] = 12,\n-\t[2072] = 13,\n-\t[2074] = 14,\n+\t[2058] = 5,\n+\t[2060] = 6,\n+\t[2062] = 7,\n+\t[2064] = 8,\n+\t[2066] = 9,\n+\t[2068] = 10,\n+\t[2070] = 11,\n+\t[2072] = 12,\n+\t[2074] = 13,\n+\t[2076] = 14,\n \t[2176] = 0,\n \t[2177] = 1,\n \t[2178] = 2,\n \t[2180] = 3,\n \t[2182] = 4,\n-\t[2184] = 5,\n-\t[2186] = 6,\n-\t[2188] = 7,\n-\t[2190] = 8,\n-\t[2192] = 9,\n-\t[2194] = 10,\n-\t[2196] = 11,\n-\t[2198] = 12,\n-\t[2200] = 13,\n-\t[2202] = 14,\n-\t[2230] = 15,\n-\t[2232] = 16,\n-\t[2234] = 17,\n-\t[2236] = 18,\n-\t[2238] = 19,\n-\t[2240] = 20,\n-\t[2242] = 21,\n-\t[2244] = 22,\n-\t[2246] = 23,\n+\t[2186] = 5,\n+\t[2188] = 6,\n+\t[2190] = 7,\n+\t[2192] = 8,\n+\t[2194] = 9,\n+\t[2196] = 10,\n+\t[2198] = 11,\n+\t[2200] = 12,\n+\t[2202] = 13,\n+\t[2204] = 14,\n+\t[2232] = 15,\n+\t[2234] = 16,\n+\t[2236] = 17,\n+\t[2238] = 18,\n+\t[2240] = 19,\n+\t[2242] = 20,\n+\t[2244] = 21,\n+\t[2246] = 22,\n+\t[2248] = 23,\n \t[2304] = 0,\n \t[2305] = 1,\n \t[2306] = 2,\n \t[2308] = 3,\n \t[2310] = 4,\n-\t[2312] = 5,\n-\t[2314] = 6,\n-\t[2316] = 7,\n-\t[2318] = 8,\n-\t[2320] = 9,\n-\t[2322] = 10,\n-\t[2324] = 11,\n-\t[2326] = 12,\n-\t[2328] = 13,\n-\t[2330] = 14,\n-\t[2376] = 15,\n-\t[2378] = 16,\n-\t[2380] = 17,\n-\t[2382] = 18,\n+\t[2314] = 5,\n+\t[2316] = 6,\n+\t[2318] = 7,\n+\t[2320] = 8,\n+\t[2322] = 9,\n+\t[2324] = 10,\n+\t[2326] = 11,\n+\t[2328] = 12,\n+\t[2330] = 13,\n+\t[2332] = 14,\n+\t[2378] = 15,\n+\t[2380] = 16,\n+\t[2382] = 17,\n+\t[2384] = 18,\n \t[2432] = 0,\n \t[2433] = 1,\n \t[2434] = 2,\n \t[2436] = 3,\n \t[2438] = 4,\n-\t[2460] = 5,\n-\t[2462] = 6,\n-\t[2464] = 7,\n-\t[2466] = 8,\n-\t[2468] = 9,\n-\t[2470] = 10,\n-\t[2472] = 11,\n-\t[2474] = 12,\n+\t[2462] = 5,\n+\t[2464] = 6,\n+\t[2466] = 7,\n+\t[2468] = 8,\n+\t[2470] = 9,\n+\t[2472] = 10,\n+\t[2474] = 11,\n+\t[2476] = 12,\n \t[2560] = 0,\n \t[2561] = 1,\n \t[2562] = 2,\n \t[2564] = 3,\n \t[2566] = 4,\n-\t[2588] = 5,\n-\t[2590] = 6,\n-\t[2592] = 7,\n-\t[2594] = 8,\n-\t[2596] = 9,\n-\t[2598] = 10,\n-\t[2600] = 11,\n-\t[2602] = 12,\n-\t[2614] = 13,\n-\t[2616] = 14,\n-\t[2618] = 15,\n-\t[2620] = 16,\n-\t[2622] = 17,\n-\t[2624] = 18,\n-\t[2626] = 19,\n-\t[2628] = 20,\n-\t[2630] = 21,\n+\t[2590] = 5,\n+\t[2592] = 6,\n+\t[2594] = 7,\n+\t[2596] = 8,\n+\t[2598] = 9,\n+\t[2600] = 10,\n+\t[2602] = 11,\n+\t[2604] = 12,\n+\t[2616] = 13,\n+\t[2618] = 14,\n+\t[2620] = 15,\n+\t[2622] = 16,\n+\t[2624] = 17,\n+\t[2626] = 18,\n+\t[2628] = 19,\n+\t[2630] = 20,\n+\t[2632] = 21,\n \t[2688] = 0,\n \t[2689] = 1,\n \t[2690] = 2,\n \t[2692] = 3,\n \t[2694] = 4,\n-\t[2716] = 5,\n-\t[2718] = 6,\n-\t[2720] = 7,\n-\t[2722] = 8,\n-\t[2724] = 9,\n-\t[2726] = 10,\n-\t[2728] = 11,\n-\t[2730] = 12,\n-\t[2760] = 13,\n-\t[2762] = 14,\n-\t[2764] = 15,\n-\t[2766] = 16,\n+\t[2718] = 5,\n+\t[2720] = 6,\n+\t[2722] = 7,\n+\t[2724] = 8,\n+\t[2726] = 9,\n+\t[2728] = 10,\n+\t[2730] = 11,\n+\t[2732] = 12,\n+\t[2762] = 13,\n+\t[2764] = 14,\n+\t[2766] = 15,\n+\t[2768] = 16,\n \t[2816] = 0,\n \t[2817] = 1,\n \t[2818] = 2,\n \t[2820] = 3,\n \t[2822] = 4,\n-\t[2824] = 8,\n-\t[2826] = 9,\n-\t[2828] = 10,\n-\t[2830] = 11,\n-\t[2832] = 12,\n-\t[2834] = 13,\n-\t[2836] = 14,\n-\t[2838] = 15,\n-\t[2840] = 16,\n-\t[2842] = 17,\n-\t[2896] = 5,\n-\t[2900] = 6,\n-\t[2904] = 7,\n+\t[2826] = 8,\n+\t[2828] = 9,\n+\t[2830] = 10,\n+\t[2832] = 11,\n+\t[2834] = 12,\n+\t[2836] = 13,\n+\t[2838] = 14,\n+\t[2840] = 15,\n+\t[2842] = 16,\n+\t[2844] = 17,\n+\t[2898] = 5,\n+\t[2902] = 6,\n+\t[2906] = 7,\n \t[2944] = 0,\n \t[2945] = 1,\n \t[2946] = 2,\n \t[2948] = 3,\n \t[2950] = 4,\n-\t[2952] = 8,\n-\t[2954] = 9,\n-\t[2956] = 10,\n-\t[2958] = 11,\n-\t[2960] = 12,\n-\t[2962] = 13,\n-\t[2964] = 14,\n-\t[2966] = 15,\n-\t[2968] = 16,\n-\t[2970] = 17,\n-\t[2998] = 18,\n-\t[3000] = 19,\n-\t[3002] = 20,\n-\t[3004] = 21,\n-\t[3006] = 22,\n-\t[3008] = 23,\n-\t[3010] = 24,\n-\t[3012] = 25,\n-\t[3014] = 26,\n-\t[3024] = 5,\n-\t[3028] = 6,\n-\t[3032] = 7,\n+\t[2954] = 8,\n+\t[2956] = 9,\n+\t[2958] = 10,\n+\t[2960] = 11,\n+\t[2962] = 12,\n+\t[2964] = 13,\n+\t[2966] = 14,\n+\t[2968] = 15,\n+\t[2970] = 16,\n+\t[2972] = 17,\n+\t[3000] = 18,\n+\t[3002] = 19,\n+\t[3004] = 20,\n+\t[3006] = 21,\n+\t[3008] = 22,\n+\t[3010] = 23,\n+\t[3012] = 24,\n+\t[3014] = 25,\n+\t[3016] = 26,\n+\t[3026] = 5,\n+\t[3030] = 6,\n+\t[3034] = 7,\n \t[3072] = 0,\n \t[3073] = 1,\n \t[3074] = 2,\n \t[3076] = 3,\n \t[3078] = 4,\n-\t[3080] = 8,\n-\t[3082] = 9,\n-\t[3084] = 10,\n-\t[3086] = 11,\n-\t[3088] = 12,\n-\t[3090] = 13,\n-\t[3092] = 14,\n-\t[3094] = 15,\n-\t[3096] = 16,\n-\t[3098] = 17,\n-\t[3144] = 18,\n-\t[3146] = 19,\n-\t[3148] = 20,\n-\t[3150] = 21,\n-\t[3152] = 5,\n-\t[3156] = 6,\n-\t[3160] = 7,\n+\t[3082] = 8,\n+\t[3084] = 9,\n+\t[3086] = 10,\n+\t[3088] = 11,\n+\t[3090] = 12,\n+\t[3092] = 13,\n+\t[3094] = 14,\n+\t[3096] = 15,\n+\t[3098] = 16,\n+\t[3100] = 17,\n+\t[3146] = 18,\n+\t[3148] = 19,\n+\t[3150] = 20,\n+\t[3152] = 21,\n+\t[3154] = 5,\n+\t[3158] = 6,\n+\t[3162] = 7,\n \t[3200] = 0,\n \t[3201] = 1,\n \t[3202] = 2,\n \t[3204] = 3,\n \t[3206] = 4,\n-\t[3228] = 8,\n-\t[3230] = 9,\n-\t[3232] = 10,\n-\t[3234] = 11,\n-\t[3236] = 12,\n-\t[3238] = 13,\n-\t[3240] = 14,\n-\t[3242] = 15,\n-\t[3280] = 5,\n-\t[3284] = 6,\n-\t[3288] = 7,\n+\t[3230] = 8,\n+\t[3232] = 9,\n+\t[3234] = 10,\n+\t[3236] = 11,\n+\t[3238] = 12,\n+\t[3240] = 13,\n+\t[3242] = 14,\n+\t[3244] = 15,\n+\t[3282] = 5,\n+\t[3286] = 6,\n+\t[3290] = 7,\n \t[3328] = 0,\n \t[3329] = 1,\n \t[3330] = 2,\n \t[3332] = 3,\n \t[3334] = 4,\n-\t[3356] = 8,\n-\t[3358] = 9,\n-\t[3360] = 10,\n-\t[3362] = 11,\n-\t[3364] = 12,\n-\t[3366] = 13,\n-\t[3368] = 14,\n-\t[3370] = 15,\n-\t[3382] = 16,\n-\t[3384] = 17,\n-\t[3386] = 18,\n-\t[3388] = 19,\n-\t[3390] = 20,\n-\t[3392] = 21,\n-\t[3394] = 22,\n-\t[3396] = 23,\n-\t[3398] = 24,\n-\t[3408] = 5,\n-\t[3412] = 6,\n-\t[3416] = 7,\n+\t[3358] = 8,\n+\t[3360] = 9,\n+\t[3362] = 10,\n+\t[3364] = 11,\n+\t[3366] = 12,\n+\t[3368] = 13,\n+\t[3370] = 14,\n+\t[3372] = 15,\n+\t[3384] = 16,\n+\t[3386] = 17,\n+\t[3388] = 18,\n+\t[3390] = 19,\n+\t[3392] = 20,\n+\t[3394] = 21,\n+\t[3396] = 22,\n+\t[3398] = 23,\n+\t[3400] = 24,\n+\t[3410] = 5,\n+\t[3414] = 6,\n+\t[3418] = 7,\n \t[3456] = 0,\n \t[3457] = 1,\n \t[3458] = 2,\n \t[3460] = 3,\n \t[3462] = 4,\n-\t[3484] = 8,\n-\t[3486] = 9,\n-\t[3488] = 10,\n-\t[3490] = 11,\n-\t[3492] = 12,\n-\t[3494] = 13,\n-\t[3496] = 14,\n-\t[3498] = 15,\n-\t[3528] = 16,\n-\t[3530] = 17,\n-\t[3532] = 18,\n-\t[3534] = 19,\n-\t[3536] = 5,\n-\t[3540] = 6,\n-\t[3544] = 7,\n+\t[3486] = 8,\n+\t[3488] = 9,\n+\t[3490] = 10,\n+\t[3492] = 11,\n+\t[3494] = 12,\n+\t[3496] = 13,\n+\t[3498] = 14,\n+\t[3500] = 15,\n+\t[3530] = 16,\n+\t[3532] = 17,\n+\t[3534] = 18,\n+\t[3536] = 19,\n+\t[3538] = 5,\n+\t[3542] = 6,\n+\t[3546] = 7,\n \t[4096] = 0,\n \t[4097] = 1,\n \t[4098] = 2,\n \t[4100] = 3,\n \t[4102] = 4,\n-\t[4104] = 5,\n-\t[4106] = 6,\n-\t[4108] = 7,\n-\t[4110] = 8,\n-\t[4112] = 9,\n-\t[4114] = 10,\n-\t[4116] = 11,\n-\t[4118] = 12,\n-\t[4120] = 13,\n-\t[4122] = 14,\n+\t[4106] = 5,\n+\t[4108] = 6,\n+\t[4110] = 7,\n+\t[4112] = 8,\n+\t[4114] = 9,\n+\t[4116] = 10,\n+\t[4118] = 11,\n+\t[4120] = 12,\n+\t[4122] = 13,\n+\t[4124] = 14,\n \t[4224] = 0,\n \t[4225] = 1,\n \t[4226] = 2,\n \t[4228] = 3,\n \t[4230] = 4,\n-\t[4232] = 5,\n-\t[4234] = 6,\n-\t[4236] = 7,\n-\t[4238] = 8,\n-\t[4240] = 9,\n-\t[4242] = 10,\n-\t[4244] = 11,\n-\t[4246] = 12,\n-\t[4248] = 13,\n-\t[4250] = 14,\n-\t[4278] = 15,\n-\t[4280] = 16,\n-\t[4282] = 17,\n-\t[4284] = 18,\n-\t[4286] = 19,\n-\t[4288] = 20,\n-\t[4290] = 21,\n-\t[4292] = 22,\n-\t[4294] = 23,\n+\t[4234] = 5,\n+\t[4236] = 6,\n+\t[4238] = 7,\n+\t[4240] = 8,\n+\t[4242] = 9,\n+\t[4244] = 10,\n+\t[4246] = 11,\n+\t[4248] = 12,\n+\t[4250] = 13,\n+\t[4252] = 14,\n+\t[4280] = 15,\n+\t[4282] = 16,\n+\t[4284] = 17,\n+\t[4286] = 18,\n+\t[4288] = 19,\n+\t[4290] = 20,\n+\t[4292] = 21,\n+\t[4294] = 22,\n+\t[4296] = 23,\n \t[4352] = 0,\n \t[4353] = 1,\n \t[4354] = 2,\n \t[4356] = 3,\n \t[4358] = 4,\n-\t[4360] = 5,\n-\t[4362] = 6,\n-\t[4364] = 7,\n-\t[4366] = 8,\n-\t[4368] = 9,\n-\t[4370] = 10,\n-\t[4372] = 11,\n-\t[4374] = 12,\n-\t[4376] = 13,\n-\t[4378] = 14,\n-\t[4424] = 15,\n-\t[4426] = 16,\n-\t[4428] = 17,\n-\t[4430] = 18,\n+\t[4362] = 5,\n+\t[4364] = 6,\n+\t[4366] = 7,\n+\t[4368] = 8,\n+\t[4370] = 9,\n+\t[4372] = 10,\n+\t[4374] = 11,\n+\t[4376] = 12,\n+\t[4378] = 13,\n+\t[4380] = 14,\n+\t[4426] = 15,\n+\t[4428] = 16,\n+\t[4430] = 17,\n+\t[4432] = 18,\n \t[4480] = 0,\n \t[4481] = 1,\n \t[4482] = 2,\n \t[4484] = 3,\n \t[4486] = 4,\n-\t[4508] = 5,\n-\t[4510] = 6,\n-\t[4512] = 7,\n-\t[4514] = 8,\n-\t[4516] = 9,\n-\t[4518] = 10,\n-\t[4520] = 11,\n-\t[4522] = 12,\n+\t[4510] = 5,\n+\t[4512] = 6,\n+\t[4514] = 7,\n+\t[4516] = 8,\n+\t[4518] = 9,\n+\t[4520] = 10,\n+\t[4522] = 11,\n+\t[4524] = 12,\n \t[4608] = 0,\n \t[4609] = 1,\n \t[4610] = 2,\n \t[4612] = 3,\n \t[4614] = 4,\n-\t[4636] = 5,\n-\t[4638] = 6,\n-\t[4640] = 7,\n-\t[4642] = 8,\n-\t[4644] = 9,\n-\t[4646] = 10,\n-\t[4648] = 11,\n-\t[4650] = 12,\n-\t[4662] = 13,\n-\t[4664] = 14,\n-\t[4666] = 15,\n-\t[4668] = 16,\n-\t[4670] = 17,\n-\t[4672] = 18,\n-\t[4674] = 19,\n-\t[4676] = 20,\n-\t[4678] = 21,\n+\t[4638] = 5,\n+\t[4640] = 6,\n+\t[4642] = 7,\n+\t[4644] = 8,\n+\t[4646] = 9,\n+\t[4648] = 10,\n+\t[4650] = 11,\n+\t[4652] = 12,\n+\t[4664] = 13,\n+\t[4666] = 14,\n+\t[4668] = 15,\n+\t[4670] = 16,\n+\t[4672] = 17,\n+\t[4674] = 18,\n+\t[4676] = 19,\n+\t[4678] = 20,\n+\t[4680] = 21,\n \t[4736] = 0,\n \t[4737] = 1,\n \t[4738] = 2,\n \t[4740] = 3,\n \t[4742] = 4,\n-\t[4764] = 5,\n-\t[4766] = 6,\n-\t[4768] = 7,\n-\t[4770] = 8,\n-\t[4772] = 9,\n-\t[4774] = 10,\n-\t[4776] = 11,\n-\t[4778] = 12,\n-\t[4808] = 13,\n-\t[4810] = 14,\n-\t[4812] = 15,\n-\t[4814] = 16,\n+\t[4766] = 5,\n+\t[4768] = 6,\n+\t[4770] = 7,\n+\t[4772] = 8,\n+\t[4774] = 9,\n+\t[4776] = 10,\n+\t[4778] = 11,\n+\t[4780] = 12,\n+\t[4810] = 13,\n+\t[4812] = 14,\n+\t[4814] = 15,\n+\t[4816] = 16,\n \t[4864] = 0,\n \t[4865] = 1,\n \t[4866] = 2,\n \t[4868] = 3,\n \t[4870] = 4,\n-\t[4872] = 8,\n-\t[4874] = 9,\n-\t[4876] = 10,\n-\t[4878] = 11,\n-\t[4880] = 12,\n-\t[4882] = 13,\n-\t[4884] = 14,\n-\t[4886] = 15,\n-\t[4888] = 16,\n-\t[4890] = 17,\n-\t[4944] = 5,\n-\t[4948] = 6,\n-\t[4952] = 7,\n+\t[4874] = 8,\n+\t[4876] = 9,\n+\t[4878] = 10,\n+\t[4880] = 11,\n+\t[4882] = 12,\n+\t[4884] = 13,\n+\t[4886] = 14,\n+\t[4888] = 15,\n+\t[4890] = 16,\n+\t[4892] = 17,\n+\t[4946] = 5,\n+\t[4950] = 6,\n+\t[4954] = 7,\n \t[4992] = 0,\n \t[4993] = 1,\n \t[4994] = 2,\n \t[4996] = 3,\n \t[4998] = 4,\n-\t[5000] = 8,\n-\t[5002] = 9,\n-\t[5004] = 10,\n-\t[5006] = 11,\n-\t[5008] = 12,\n-\t[5010] = 13,\n-\t[5012] = 14,\n-\t[5014] = 15,\n-\t[5016] = 16,\n-\t[5018] = 17,\n-\t[5046] = 18,\n-\t[5048] = 19,\n-\t[5050] = 20,\n-\t[5052] = 21,\n-\t[5054] = 22,\n-\t[5056] = 23,\n-\t[5058] = 24,\n-\t[5060] = 25,\n-\t[5062] = 26,\n-\t[5072] = 5,\n-\t[5076] = 6,\n-\t[5080] = 7,\n+\t[5002] = 8,\n+\t[5004] = 9,\n+\t[5006] = 10,\n+\t[5008] = 11,\n+\t[5010] = 12,\n+\t[5012] = 13,\n+\t[5014] = 14,\n+\t[5016] = 15,\n+\t[5018] = 16,\n+\t[5020] = 17,\n+\t[5048] = 18,\n+\t[5050] = 19,\n+\t[5052] = 20,\n+\t[5054] = 21,\n+\t[5056] = 22,\n+\t[5058] = 23,\n+\t[5060] = 24,\n+\t[5062] = 25,\n+\t[5064] = 26,\n+\t[5074] = 5,\n+\t[5078] = 6,\n+\t[5082] = 7,\n \t[5120] = 0,\n \t[5121] = 1,\n \t[5122] = 2,\n \t[5124] = 3,\n \t[5126] = 4,\n-\t[5128] = 8,\n-\t[5130] = 9,\n-\t[5132] = 10,\n-\t[5134] = 11,\n-\t[5136] = 12,\n-\t[5138] = 13,\n-\t[5140] = 14,\n-\t[5142] = 15,\n-\t[5144] = 16,\n-\t[5146] = 17,\n-\t[5192] = 18,\n-\t[5194] = 19,\n-\t[5196] = 20,\n-\t[5198] = 21,\n-\t[5200] = 5,\n-\t[5204] = 6,\n-\t[5208] = 7,\n+\t[5130] = 8,\n+\t[5132] = 9,\n+\t[5134] = 10,\n+\t[5136] = 11,\n+\t[5138] = 12,\n+\t[5140] = 13,\n+\t[5142] = 14,\n+\t[5144] = 15,\n+\t[5146] = 16,\n+\t[5148] = 17,\n+\t[5194] = 18,\n+\t[5196] = 19,\n+\t[5198] = 20,\n+\t[5200] = 21,\n+\t[5202] = 5,\n+\t[5206] = 6,\n+\t[5210] = 7,\n \t[5248] = 0,\n \t[5249] = 1,\n \t[5250] = 2,\n \t[5252] = 3,\n \t[5254] = 4,\n-\t[5276] = 8,\n-\t[5278] = 9,\n-\t[5280] = 10,\n-\t[5282] = 11,\n-\t[5284] = 12,\n-\t[5286] = 13,\n-\t[5288] = 14,\n-\t[5290] = 15,\n-\t[5328] = 5,\n-\t[5332] = 6,\n-\t[5336] = 7,\n+\t[5278] = 8,\n+\t[5280] = 9,\n+\t[5282] = 10,\n+\t[5284] = 11,\n+\t[5286] = 12,\n+\t[5288] = 13,\n+\t[5290] = 14,\n+\t[5292] = 15,\n+\t[5330] = 5,\n+\t[5334] = 6,\n+\t[5338] = 7,\n \t[5376] = 0,\n \t[5377] = 1,\n \t[5378] = 2,\n \t[5380] = 3,\n \t[5382] = 4,\n-\t[5404] = 8,\n-\t[5406] = 9,\n-\t[5408] = 10,\n-\t[5410] = 11,\n-\t[5412] = 12,\n-\t[5414] = 13,\n-\t[5416] = 14,\n-\t[5418] = 15,\n-\t[5430] = 16,\n-\t[5432] = 17,\n-\t[5434] = 18,\n-\t[5436] = 19,\n-\t[5438] = 20,\n-\t[5440] = 21,\n-\t[5442] = 22,\n-\t[5444] = 23,\n-\t[5446] = 24,\n-\t[5456] = 5,\n-\t[5460] = 6,\n-\t[5464] = 7,\n+\t[5406] = 8,\n+\t[5408] = 9,\n+\t[5410] = 10,\n+\t[5412] = 11,\n+\t[5414] = 12,\n+\t[5416] = 13,\n+\t[5418] = 14,\n+\t[5420] = 15,\n+\t[5432] = 16,\n+\t[5434] = 17,\n+\t[5436] = 18,\n+\t[5438] = 19,\n+\t[5440] = 20,\n+\t[5442] = 21,\n+\t[5444] = 22,\n+\t[5446] = 23,\n+\t[5448] = 24,\n+\t[5458] = 5,\n+\t[5462] = 6,\n+\t[5466] = 7,\n \t[5504] = 0,\n \t[5505] = 1,\n \t[5506] = 2,\n \t[5508] = 3,\n \t[5510] = 4,\n-\t[5532] = 8,\n-\t[5534] = 9,\n-\t[5536] = 10,\n-\t[5538] = 11,\n-\t[5540] = 12,\n-\t[5542] = 13,\n-\t[5544] = 14,\n-\t[5546] = 15,\n-\t[5576] = 16,\n-\t[5578] = 17,\n-\t[5580] = 18,\n-\t[5582] = 19,\n-\t[5584] = 5,\n-\t[5588] = 6,\n-\t[5592] = 7\n+\t[5534] = 8,\n+\t[5536] = 9,\n+\t[5538] = 10,\n+\t[5540] = 11,\n+\t[5542] = 12,\n+\t[5544] = 13,\n+\t[5546] = 14,\n+\t[5548] = 15,\n+\t[5578] = 16,\n+\t[5580] = 17,\n+\t[5582] = 18,\n+\t[5584] = 19,\n+\t[5586] = 5,\n+\t[5590] = 6,\n+\t[5594] = 7\n };\n \ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c\nindex 8cc81b1451..c3109cd85b 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c\n@@ -3,7 +3,7 @@\n  * All rights reserved.\n  */\n \n-/* date: Thu Dec 17 19:43:07 2020 */\n+/* date: Tue Jan 26 15:51:49 2021 */\n \n #include \"ulp_template_db_enum.h\"\n #include \"ulp_template_db_field.h\"\n@@ -627,7 +627,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_act_tbl_list[] = {\n \t.result_bit_size = 32,\n \t.result_num_fields = 1\n \t},\n-\t{ /* act_tid: 5, wh_plus, table: int_encap_mac_record.0 */\n+\t{ /* act_tid: 5, wh_plus, table: int_encap_mac_record.dummy */\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,\n \t.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,\n \t.resource_sub_type =\n@@ -960,6 +960,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_act_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"shared_index\",\n \t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t\t.field_opr1 = {\n@@ -981,6 +982,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_act_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"shared_index\",\n \t\t.field_bit_size = 1,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -1056,6 +1058,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_tpid\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -1065,6 +1068,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_vid\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -1081,6 +1085,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_pcp\",\n \t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -1098,6 +1103,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1128,6 +1134,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -1164,6 +1171,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_ptr\",\n \t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1173,6 +1181,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"dst_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1182,6 +1191,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_dst_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,\n@@ -1201,6 +1211,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"src_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1210,6 +1221,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_src_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,\n@@ -1250,6 +1262,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -1259,6 +1272,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -1268,6 +1282,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"decap_func\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,\n@@ -1288,6 +1303,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -1297,6 +1313,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"pop_vlan\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -1319,6 +1336,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"mirror\",\n \t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff,\n@@ -1338,6 +1356,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"drop\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -1368,6 +1387,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1398,6 +1418,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -1455,6 +1476,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"dst_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1464,6 +1486,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_dst_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,\n@@ -1483,6 +1506,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"src_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1492,6 +1516,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_src_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,\n@@ -1532,6 +1557,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -1541,6 +1567,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -1550,6 +1577,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"decap_func\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,\n@@ -1570,6 +1598,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -1579,6 +1608,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"pop_vlan\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -1601,6 +1631,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"mirror\",\n \t.field_bit_size = 2,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1610,6 +1641,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"drop\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -1765,6 +1797,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1795,6 +1828,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -1908,6 +1942,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -1965,6 +2000,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -1995,6 +2031,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -2122,6 +2159,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -2131,6 +2169,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"pop_vlan\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -2259,6 +2298,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -2306,6 +2346,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"rid\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -2337,6 +2378,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ipv4_addr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -2347,6 +2389,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ipv4_addr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -2446,6 +2489,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -2476,6 +2520,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -2512,6 +2557,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_ptr\",\n \t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -2521,6 +2567,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"dst_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -2530,6 +2577,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_dst_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,\n@@ -2549,6 +2597,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"src_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -2558,6 +2607,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_src_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,\n@@ -2598,6 +2648,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -2607,6 +2658,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -2616,6 +2668,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"decap_func\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n@@ -2636,6 +2689,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -2688,6 +2742,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -2718,6 +2773,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -2761,6 +2817,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_ptr\",\n \t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -2779,6 +2836,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"dst_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -2788,6 +2846,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_dst_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,\n@@ -2807,6 +2866,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"src_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -2816,6 +2876,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_src_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,\n@@ -2856,6 +2917,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -2865,6 +2927,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -2874,6 +2937,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"decap_func\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n@@ -2894,6 +2958,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3079,6 +3144,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_tpid\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3088,6 +3154,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_vid\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3104,6 +3171,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_pcp\",\n \t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3121,6 +3189,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -3151,6 +3220,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -3187,6 +3257,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_ptr\",\n \t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -3245,6 +3316,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -3254,6 +3326,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -3270,6 +3343,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3300,6 +3374,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"drop\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -3330,6 +3405,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -3360,6 +3436,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -3466,6 +3543,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -3475,6 +3553,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -3491,6 +3570,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3521,6 +3601,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"drop\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -3623,6 +3704,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -3653,6 +3735,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -3759,6 +3842,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -3768,6 +3852,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -3784,6 +3869,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3793,6 +3879,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"pop_vlan\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -3822,6 +3909,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"drop\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -3890,6 +3978,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_tpid\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3899,6 +3988,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_vid\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3915,6 +4005,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vtag_pcp\",\n \t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3940,6 +4031,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ipv4_addr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -3950,13 +4042,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ipv4_addr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n \t\t(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,\n \t\tBNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}\n \t},\n-\t/* act_tid: 5, wh_plus, table: int_encap_mac_record.0 */\n+\t/* act_tid: 5, wh_plus, table: int_encap_mac_record.dummy */\n \t{\n \t.description = \"ecv_tun_type\",\n \t.field_bit_size = 3,\n@@ -4049,6 +4142,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -4079,6 +4173,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -4115,6 +4210,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_ptr\",\n \t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -4124,6 +4220,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"dst_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -4133,6 +4230,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_dst_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,\n@@ -4152,6 +4250,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"src_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -4161,6 +4260,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_src_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,\n@@ -4201,6 +4301,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -4210,6 +4311,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -4219,6 +4321,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"decap_func\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n@@ -4239,6 +4342,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4291,6 +4395,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -4321,6 +4426,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -4364,6 +4470,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_ptr\",\n \t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -4382,6 +4489,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"dst_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -4391,6 +4499,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_dst_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,\n@@ -4410,6 +4519,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"src_ip_ptr\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -4419,6 +4529,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tcp_src_port\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,\n@@ -4459,6 +4570,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"l3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -4468,6 +4580,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"tl3_ttl_dec\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -4477,6 +4590,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"decap_func\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t.field_cond_opr = {\n \t\t((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,\n@@ -4497,6 +4611,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4629,6 +4744,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"smac\",\n \t.field_bit_size = 48,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4638,6 +4754,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ipv4_src_addr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4655,6 +4772,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"smac\",\n \t.field_bit_size = 48,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4664,6 +4782,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ipv6_src_addr\",\n \t.field_bit_size = 128,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4699,6 +4818,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ecv_l3_type\",\n \t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4717,6 +4837,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ecv_vtag_type\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4742,6 +4863,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_l2_dmac\",\n \t.field_bit_size = 48,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4775,6 +4897,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_udp\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4797,6 +4920,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -4827,6 +4951,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -4863,6 +4988,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_ptr\",\n \t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -4942,6 +5068,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -4994,6 +5121,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_ptr\",\n \t.field_bit_size = 14,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -5024,6 +5152,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"flow_cntr_en\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,\n \t.field_opr1 = {\n@@ -5151,6 +5280,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -5206,6 +5336,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ecv_l3_type\",\n \t.field_bit_size = 3,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -5224,6 +5355,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"ecv_vtag_type\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -5249,6 +5381,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_l2_dmac\",\n \t.field_bit_size = 48,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -5282,6 +5415,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_udp\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\n@@ -5291,6 +5425,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {\n \t{\n \t.description = \"encap_tun\",\n \t.field_bit_size = 80,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,\n \t.field_opr1 = {\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 85e4301bb3..a77b696b5c 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: Thu Dec 17 17:35:03 2020 */\n+/* date: Tue Jan 26 15:51:49 2021 */\n \n #include \"ulp_template_db_enum.h\"\n #include \"ulp_template_db_field.h\"\n@@ -29,7 +29,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {\n \t.start_tbl_idx = 11,\n \t.reject_info = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n-\t\t.cond_start_idx = 4,\n+\t\t.cond_start_idx = 5,\n \t\t.cond_nums = 0 }\n \t},\n \t/* class_tid: 3, wh_plus, ingress */\n@@ -39,7 +39,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {\n \t.start_tbl_idx = 22,\n \t.reject_info = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n-\t\t.cond_start_idx = 8,\n+\t\t.cond_start_idx = 10,\n \t\t.cond_nums = 0 }\n \t},\n \t/* class_tid: 4, wh_plus, egress */\n@@ -49,7 +49,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {\n \t.start_tbl_idx = 30,\n \t.reject_info = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n-\t\t.cond_start_idx = 9,\n+\t\t.cond_start_idx = 11,\n \t\t.cond_nums = 0 }\n \t},\n \t/* class_tid: 5, wh_plus, egress */\n@@ -59,7 +59,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {\n \t.start_tbl_idx = 44,\n \t.reject_info = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n-\t\t.cond_start_idx = 14,\n+\t\t.cond_start_idx = 16,\n \t\t.cond_nums = 0 }\n \t},\n \t/* class_tid: 6, wh_plus, egress */\n@@ -69,7 +69,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {\n \t.start_tbl_idx = 53,\n \t.reject_info = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n-\t\t.cond_start_idx = 15,\n+\t\t.cond_start_idx = 17,\n \t\t.cond_nums = 0 }\n \t},\n \t/* class_tid: 7, wh_plus, egress */\n@@ -79,7 +79,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {\n \t.start_tbl_idx = 62,\n \t.reject_info = {\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,\n-\t\t.cond_start_idx = 16,\n+\t\t.cond_start_idx = 18,\n \t\t.cond_nums = 0 }\n \t}\n };\n@@ -276,9 +276,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.execute_info = {\n \t\t.cond_true_goto  = 0,\n \t\t.cond_false_goto = 1,\n-\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,\n+\t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,\n \t\t.cond_start_idx = 4,\n-\t\t.cond_nums = 0 },\n+\t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,\n@@ -286,7 +286,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.key_start_idx = 116,\n \t.blob_key_bit_size = 448,\n \t.key_bit_size = 448,\n-\t.key_num_fields = 11,\n+\t.key_num_fields = 10,\n \t.result_start_idx = 61,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9\n@@ -300,13 +300,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t\t.cond_true_goto  = 0,\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 = 4,\n+\t\t.cond_start_idx = 5,\n \t\t.cond_nums = 0 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n-\t.key_start_idx = 127,\n+\t.key_start_idx = 126,\n \t.blob_key_bit_size = 416,\n \t.key_bit_size = 416,\n \t.key_num_fields = 11,\n@@ -318,18 +318,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n \t.resource_type = TF_MEM_EXTERNAL,\n \t.direction = TF_DIR_RX,\n-\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,\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 = 4,\n+\t\t.cond_start_idx = 5,\n \t\t.cond_nums = 0 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n-\t.key_start_idx = 138,\n+\t.key_start_idx = 137,\n \t.blob_key_bit_size = 448,\n \t.key_bit_size = 448,\n \t.key_num_fields = 11,\n@@ -347,12 +346,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_OR,\n-\t\t.cond_start_idx = 4,\n+\t\t.cond_start_idx = 5,\n \t\t.cond_nums = 1 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 149,\n+\t.key_start_idx = 148,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -367,7 +366,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 6,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_SRCH_ALLOC_WR_REGFILE,\n \t.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,\n@@ -375,7 +374,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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.key_start_idx = 150,\n+\t.key_start_idx = 149,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -395,12 +394,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 6,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_FLOW_SIG_ID_MATCH,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 163,\n+\t.key_start_idx = 162,\n \t.blob_key_bit_size = 14,\n \t.key_bit_size = 14,\n \t.key_num_fields = 3,\n@@ -414,7 +413,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_OR,\n-\t\t.cond_start_idx = 5,\n+\t\t.cond_start_idx = 6,\n \t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n@@ -428,7 +427,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_OR,\n-\t\t.cond_start_idx = 6,\n+\t\t.cond_start_idx = 7,\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_PROFILE_TCAM_INDEX_0,\n@@ -437,7 +436,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n-\t.key_start_idx = 166,\n+\t.key_start_idx = 165,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n@@ -455,7 +454,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 7,\n+\t\t.cond_start_idx = 8,\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@@ -464,7 +463,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n-\t.key_start_idx = 209,\n+\t.key_start_idx = 208,\n \t.blob_key_bit_size = 81,\n \t.key_bit_size = 81,\n \t.key_num_fields = 43,\n@@ -484,12 +483,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 7,\n+\t\t.cond_start_idx = 8,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 252,\n+\t.key_start_idx = 251,\n \t.blob_key_bit_size = 14,\n \t.key_bit_size = 14,\n \t.key_num_fields = 3,\n@@ -506,13 +505,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t\t.cond_true_goto  = 0,\n \t\t.cond_false_goto = 1,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,\n-\t\t.cond_start_idx = 7,\n+\t\t.cond_start_idx = 8,\n \t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n-\t.key_start_idx = 255,\n+\t.key_start_idx = 254,\n \t.blob_key_bit_size = 176,\n \t.key_bit_size = 176,\n \t.key_num_fields = 10,\n@@ -528,17 +527,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.execute_info = {\n \t\t.cond_true_goto  = 0,\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\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,\n+\t\t.cond_start_idx = 9,\n+\t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n-\t.key_start_idx = 265,\n+\t.key_start_idx = 264,\n \t.blob_key_bit_size = 448,\n \t.key_bit_size = 448,\n-\t.key_num_fields = 11,\n+\t.key_num_fields = 10,\n \t.result_start_idx = 149,\n \t.result_bit_size = 64,\n \t.result_num_fields = 9\n@@ -552,13 +551,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t\t.cond_true_goto  = 0,\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_start_idx = 10,\n \t\t.cond_nums = 0 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n-\t.key_start_idx = 276,\n+\t.key_start_idx = 274,\n \t.blob_key_bit_size = 416,\n \t.key_bit_size = 416,\n \t.key_num_fields = 11,\n@@ -570,18 +569,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,\n \t.resource_type = TF_MEM_EXTERNAL,\n \t.direction = TF_DIR_TX,\n-\t.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,\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 = 8,\n+\t\t.cond_start_idx = 10,\n \t\t.cond_nums = 0 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,\n-\t.key_start_idx = 287,\n+\t.key_start_idx = 285,\n \t.blob_key_bit_size = 448,\n \t.key_bit_size = 448,\n \t.key_num_fields = 11,\n@@ -599,7 +597,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 10,\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@@ -620,12 +618,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 10,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 298,\n+\t.key_start_idx = 296,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -639,7 +637,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_OR,\n-\t\t.cond_start_idx = 8,\n+\t\t.cond_start_idx = 10,\n \t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n@@ -653,7 +651,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 11,\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@@ -664,7 +662,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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.key_start_idx = 299,\n+\t.key_start_idx = 297,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -684,12 +682,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 11,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 312,\n+\t.key_start_idx = 310,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -705,7 +703,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 11,\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@@ -723,7 +721,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 11,\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@@ -741,7 +739,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 9,\n+\t\t.cond_start_idx = 11,\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@@ -758,7 +756,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t\t.cond_true_goto  = 1,\n \t\t.cond_false_goto = 6,\n \t\t.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,\n-\t\t.cond_start_idx = 9,\n+\t\t.cond_start_idx = 11,\n \t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_NOP\n@@ -773,7 +771,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 10,\n+\t\t.cond_start_idx = 12,\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@@ -795,12 +793,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 10,\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.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 313,\n+\t.key_start_idx = 311,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -814,7 +812,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_OR,\n-\t\t.cond_start_idx = 10,\n+\t\t.cond_start_idx = 12,\n \t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n@@ -828,7 +826,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 11,\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_L2_CNTXT_TCAM_INDEX_0,\n@@ -837,7 +835,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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.key_start_idx = 314,\n+\t.key_start_idx = 312,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -857,12 +855,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t\t.cond_true_goto  = 0,\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 = 11,\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.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 327,\n+\t.key_start_idx = 325,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -880,12 +878,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 11,\n+\t\t.cond_start_idx = 13,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 328,\n+\t.key_start_idx = 326,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -899,7 +897,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_OR,\n-\t\t.cond_start_idx = 11,\n+\t\t.cond_start_idx = 13,\n \t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n@@ -913,7 +911,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_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_L2_CNTXT_TCAM_INDEX_0,\n@@ -922,7 +920,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\n \t.fdb_operand = BNXT_ULP_RF_IDX_RID,\n \t.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,\n \t.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,\n-\t.key_start_idx = 329,\n+\t.key_start_idx = 327,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -942,12 +940,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 12,\n+\t\t.cond_start_idx = 14,\n \t\t.cond_nums = 2 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 342,\n+\t.key_start_idx = 340,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -965,7 +963,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 16,\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@@ -985,7 +983,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 16,\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@@ -1003,7 +1001,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 16,\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@@ -1021,7 +1019,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 14,\n+\t\t.cond_start_idx = 16,\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@@ -1041,12 +1039,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 16,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 343,\n+\t.key_start_idx = 341,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -1060,7 +1058,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_OR,\n-\t\t.cond_start_idx = 14,\n+\t\t.cond_start_idx = 16,\n \t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n@@ -1074,7 +1072,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 17,\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@@ -1083,7 +1081,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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.key_start_idx = 344,\n+\t.key_start_idx = 342,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -1103,12 +1101,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 17,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 357,\n+\t.key_start_idx = 355,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -1126,7 +1124,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 17,\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@@ -1148,7 +1146,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 17,\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@@ -1169,7 +1167,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 17,\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@@ -1188,7 +1186,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 17,\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@@ -1198,7 +1196,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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.key_start_idx = 358,\n+\t.key_start_idx = 356,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -1216,7 +1214,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 15,\n+\t\t.cond_start_idx = 17,\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@@ -1226,7 +1224,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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.key_start_idx = 371,\n+\t.key_start_idx = 369,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -1246,12 +1244,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 17,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 384,\n+\t.key_start_idx = 382,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -1265,7 +1263,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_OR,\n-\t\t.cond_start_idx = 15,\n+\t\t.cond_start_idx = 17,\n \t\t.cond_nums = 1 },\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,\n@@ -1279,7 +1277,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_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@@ -1288,7 +1286,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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.key_start_idx = 385,\n+\t.key_start_idx = 383,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -1308,12 +1306,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 18,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,\n \t.accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,\n \t.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,\n-\t.key_start_idx = 398,\n+\t.key_start_idx = 396,\n \t.blob_key_bit_size = 8,\n \t.key_bit_size = 8,\n \t.key_num_fields = 1,\n@@ -1329,7 +1327,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 18,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,\n \t.tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,\n@@ -1347,7 +1345,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 18,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,\n \t.tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,\n@@ -1365,7 +1363,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 18,\n \t\t.cond_nums = 0 },\n \t.tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,\n \t.tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,\n@@ -1385,7 +1383,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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_start_idx = 18,\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@@ -1405,7 +1403,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 16,\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@@ -1415,7 +1413,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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.key_start_idx = 399,\n+\t.key_start_idx = 397,\n \t.blob_key_bit_size = 167,\n \t.key_bit_size = 167,\n \t.key_num_fields = 13,\n@@ -1435,7 +1433,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {\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 = 16,\n+\t\t.cond_start_idx = 18,\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_GLB_LB_AREC_PTR,\n@@ -1470,6 +1468,11 @@ struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = {\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/* cond_execute: class_tid: 1, eem.ipv4 */\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/* cond_execute: class_tid: 2, l2_cntxt_tcam_cache.rd */\n \t{\n \t.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,\n@@ -1490,6 +1493,11 @@ struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = {\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/* cond_execute: class_tid: 2, eem.ipv4 */\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/* cond_execute: class_tid: 3, control.0 */\n \t{\n \t.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,\n@@ -1537,6 +1545,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -1546,6 +1555,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -1558,6 +1568,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -1567,6 +1578,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -1594,6 +1606,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -1603,6 +1616,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -1614,6 +1628,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -1623,6 +1638,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -1707,6 +1723,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"l2_num_vtags\",\n \t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -1816,6 +1833,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n@@ -1843,6 +1861,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -1871,6 +1890,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,\n@@ -1881,6 +1901,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -1903,6 +1924,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -1921,6 +1943,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -1930,6 +1953,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -2072,6 +2096,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -2510,6 +2535,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n@@ -2633,6 +2659,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,\n@@ -2643,6 +2670,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -2665,6 +2693,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -2683,6 +2712,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -2692,6 +2722,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -2836,6 +2867,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -3274,6 +3306,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n@@ -3408,6 +3441,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,\n@@ -3435,6 +3469,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -3480,15 +3515,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\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_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -3514,15 +3563,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 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_UDP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -3563,6 +3626,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv4.dst\",\n \t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -3572,6 +3636,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv4.dst\",\n \t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -3583,6 +3648,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv4.src\",\n \t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -3592,6 +3658,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv4.src\",\n \t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -3603,6 +3670,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_eth.smac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -3612,6 +3680,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_eth.smac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -3633,6 +3702,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -3653,6 +3723,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"em_profile_id\",\n \t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -3664,14 +3735,14 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t{\n \t.field_info_mask = {\n \t\t.description = \"spare\",\n-\t\t.field_bit_size = 35,\n+\t\t.field_bit_size = 275,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"spare\",\n-\t\t.field_bit_size = 35,\n+\t\t.field_bit_size = 275,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n@@ -3698,15 +3769,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\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_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -3732,15 +3817,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 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_UDP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -3763,14 +3862,14 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t},\n \t{\n \t.field_info_mask = {\n-\t\t.description = \"o_ipv6.ip_proto\",\n+\t\t.description = \"o_ipv4.ip_proto\",\n \t\t.field_bit_size = 8,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t\t},\n \t.field_info_spec = {\n-\t\t.description = \"o_ipv6.ip_proto\",\n+\t\t.description = \"o_ipv4.ip_proto\",\n \t\t.field_bit_size = 8,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n@@ -3779,48 +3878,53 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t},\n \t{\n \t.field_info_mask = {\n-\t\t.description = \"o_ipv6.dst\",\n-\t\t.field_bit_size = 128,\n+\t\t.description = \"o_ipv4.dst\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,\n-\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}\n \t\t},\n \t.field_info_spec = {\n-\t\t.description = \"o_ipv6.dst\",\n-\t\t.field_bit_size = 128,\n+\t\t.description = \"o_ipv4.dst\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,\n-\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}\n \t\t}\n \t},\n \t{\n \t.field_info_mask = {\n-\t\t.description = \"o_ipv6.src\",\n-\t\t.field_bit_size = 128,\n+\t\t.description = \"o_ipv4.src\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,\n-\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}\n \t\t},\n \t.field_info_spec = {\n-\t\t.description = \"o_ipv6.src\",\n-\t\t.field_bit_size = 128,\n+\t\t.description = \"o_ipv4.src\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,\n-\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}\n \t\t}\n \t},\n \t{\n \t.field_info_mask = {\n \t\t.description = \"o_eth.smac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -3830,6 +3934,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_eth.smac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -3838,22 +3943,6 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t}\n \t},\n \t{\n-\t.field_info_mask = {\n-\t\t.description = \"o_eth.dmac\",\n-\t\t.field_bit_size = 48,\n-\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n-\t\t},\n-\t.field_info_spec = {\n-\t\t.description = \"o_eth.dmac\",\n-\t\t.field_bit_size = 48,\n-\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\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_cntxt_id\",\n \t\t.field_bit_size = 10,\n@@ -3867,6 +3956,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -3887,6 +3977,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"em_profile_id\",\n \t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -3932,15 +4023,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\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_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -3966,15 +4071,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 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_UDP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -4015,6 +4134,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv6.dst\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4024,6 +4144,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv6.dst\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4035,6 +4156,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv6.src\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4044,6 +4166,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv6.src\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4055,6 +4178,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_eth.smac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4064,6 +4188,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_eth.smac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4101,6 +4226,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -4121,6 +4247,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"em_profile_id\",\n \t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -4166,15 +4293,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\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_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -4200,15 +4341,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 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_UDP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -4249,6 +4404,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv6.dst\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4258,6 +4414,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv6.dst\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4269,6 +4426,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv6.src\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4278,6 +4436,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv6.src\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4289,6 +4448,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_eth.smac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4298,6 +4458,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_eth.smac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4335,6 +4496,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -4355,6 +4517,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"em_profile_id\",\n \t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -4367,6 +4530,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4376,6 +4540,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4388,6 +4553,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4397,6 +4563,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4424,6 +4591,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4433,6 +4601,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4444,6 +4613,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4453,6 +4623,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -4537,6 +4708,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"l2_num_vtags\",\n \t\t.field_bit_size = 2,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -4646,6 +4818,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,\n@@ -4673,6 +4846,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -4701,6 +4875,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,\n@@ -4711,6 +4886,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -4733,6 +4909,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -4751,6 +4928,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -4760,6 +4938,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -4902,6 +5081,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -5340,6 +5520,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,\n@@ -5463,6 +5644,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,\n@@ -5473,6 +5655,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -5495,6 +5678,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -5513,6 +5697,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -5522,6 +5707,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -5666,6 +5852,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -6104,6 +6291,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,\n@@ -6238,6 +6426,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT,\n \t\t.field_cond_opr = {\n \t\t\t(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,\n@@ -6265,6 +6454,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -6310,15 +6500,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\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_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -6344,15 +6548,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 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_UDP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -6393,6 +6611,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv4.dst\",\n \t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6402,6 +6621,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv4.dst\",\n \t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6413,6 +6633,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv4.src\",\n \t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6422,6 +6643,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv4.src\",\n \t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6433,6 +6655,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_eth.dmac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6442,6 +6665,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_eth.dmac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6463,6 +6687,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -6483,6 +6708,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"em_profile_id\",\n \t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -6494,14 +6720,14 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t{\n \t.field_info_mask = {\n \t\t.description = \"spare\",\n-\t\t.field_bit_size = 35,\n+\t\t.field_bit_size = 275,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"spare\",\n-\t\t.field_bit_size = 35,\n+\t\t.field_bit_size = 275,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n@@ -6528,15 +6754,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\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_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -6562,15 +6802,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 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_UDP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -6593,14 +6847,14 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t},\n \t{\n \t.field_info_mask = {\n-\t\t.description = \"o_ipv6.ip_proto\",\n+\t\t.description = \"o_ipv4.ip_proto\",\n \t\t.field_bit_size = 8,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t\t},\n \t.field_info_spec = {\n-\t\t.description = \"o_ipv6.ip_proto\",\n+\t\t.description = \"o_ipv4.ip_proto\",\n \t\t.field_bit_size = 8,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n@@ -6609,64 +6863,53 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t},\n \t{\n \t.field_info_mask = {\n-\t\t.description = \"o_ipv6.dst\",\n-\t\t.field_bit_size = 128,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n-\t\t.field_opr1 = {\n-\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,\n-\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}\n-\t\t},\n-\t.field_info_spec = {\n-\t\t.description = \"o_ipv6.dst\",\n-\t\t.field_bit_size = 128,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n-\t\t.field_opr1 = {\n-\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,\n-\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}\n-\t\t}\n-\t},\n-\t{\n-\t.field_info_mask = {\n-\t\t.description = \"o_ipv6.src\",\n-\t\t.field_bit_size = 128,\n+\t\t.description = \"o_ipv4.dst\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,\n-\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}\n \t\t},\n \t.field_info_spec = {\n-\t\t.description = \"o_ipv6.src\",\n-\t\t.field_bit_size = 128,\n+\t\t.description = \"o_ipv4.dst\",\n+\t\t.field_bit_size = 32,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,\n-\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}\n \t\t}\n \t},\n \t{\n \t.field_info_mask = {\n-\t\t.description = \"o_eth.smac\",\n-\t\t.field_bit_size = 48,\n+\t\t.description = \"o_ipv4.src\",\n+\t\t.field_bit_size = 32,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}\n \t\t},\n \t.field_info_spec = {\n-\t\t.description = \"o_eth.smac\",\n-\t\t.field_bit_size = 48,\n+\t\t.description = \"o_ipv4.src\",\n+\t\t.field_bit_size = 32,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr1 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}\n \t\t}\n \t},\n \t{\n \t.field_info_mask = {\n \t\t.description = \"o_eth.dmac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6676,6 +6919,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_eth.dmac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6697,6 +6941,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -6717,6 +6962,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"em_profile_id\",\n \t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -6762,15 +7008,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\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_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -6796,15 +7056,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 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_UDP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -6845,6 +7119,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv6.dst\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6854,6 +7129,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv6.dst\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6865,6 +7141,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv6.src\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6874,6 +7151,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv6.src\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6901,6 +7179,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_eth.dmac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6910,6 +7189,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_eth.dmac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -6931,6 +7211,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -6951,6 +7232,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"em_profile_id\",\n \t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -6996,15 +7278,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\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_src2 = BNXT_ULP_FIELD_SRC_HF,\n+\t\t.field_opr2 = {\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.dport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -7030,15 +7326,29 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n \t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n-\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n+\t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n+\t\t.field_cond_opr = {\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,\n+\t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,\n+\t\t\t(uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},\n+\t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n-\t\t\t0xff,\n-\t\t\t0xff}\n+\t\t\t(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 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_UDP_SRC_PORT >> 8) & 0xff,\n+\t\t\tBNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}\n \t\t},\n \t.field_info_spec = {\n \t\t.description = \"o_l4.sport\",\n \t\t.field_bit_size = 16,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,\n \t\t.field_cond_opr = {\n \t\t\t((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,\n@@ -7079,6 +7389,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv6.dst\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -7088,6 +7399,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv6.dst\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -7099,6 +7411,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_ipv6.src\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -7108,6 +7421,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_ipv6.src\",\n \t\t.field_bit_size = 128,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -7135,6 +7449,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_mask = {\n \t\t.description = \"o_eth.dmac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -7144,6 +7459,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"o_eth.dmac\",\n \t\t.field_bit_size = 48,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_HF,\n \t\t.field_opr1 = {\n@@ -7165,6 +7481,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -7185,6 +7502,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\n \t.field_info_spec = {\n \t\t.description = \"em_profile_id\",\n \t\t.field_bit_size = 8,\n+\t\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t\t.field_opr1 = {\n@@ -7206,6 +7524,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7275,6 +7594,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7446,6 +7766,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7467,6 +7788,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7536,6 +7858,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7707,6 +8030,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7728,6 +8052,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7797,6 +8122,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7968,6 +8294,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -7989,6 +8316,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8058,6 +8386,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8229,6 +8558,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8267,6 +8597,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8303,6 +8634,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8483,6 +8815,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8535,6 +8868,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8714,6 +9048,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8783,6 +9118,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -8954,6 +9290,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -9023,6 +9360,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {\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_COND_OP,\n \t\t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t\t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t\t.field_opr1 = {\n@@ -9187,6 +9525,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_id\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9196,6 +9535,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"prof_func_id\",\n \t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -9212,6 +9552,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"parif\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -9317,6 +9658,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.1\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -9326,6 +9668,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.2\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -9335,6 +9678,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.3\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -9351,6 +9695,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.5\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -9360,6 +9705,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.6\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -9399,6 +9745,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_profile_id\",\n \t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9462,6 +9809,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.2\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -9471,6 +9819,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.3\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -9480,6 +9829,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.4\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -9496,6 +9846,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.6\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -9505,6 +9856,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.7\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -9537,6 +9889,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_profile_id\",\n \t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9563,6 +9916,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"rid\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9572,6 +9926,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"profile_tcam_index\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9581,6 +9936,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_profile_id\",\n \t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9588,7 +9944,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t\tBNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}\n \t},\n \t{\n-\t.description = \"wm_profile_id\",\n+\t.description = \"wc_profile_id\",\n \t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n@@ -9597,6 +9953,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"flow_sig_id\",\n \t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -9607,6 +9964,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 33,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9677,6 +10035,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 33,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9695,13 +10054,12 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {\n-\t\tULP_WP_SYM_EEM_ACT_REC_INT}\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n \t.description = \"act_rec_size\",\n \t.field_bit_size = 5,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9715,8 +10073,8 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t.field_opr1 = {\n-\t\t(413 >> 8) & 0xff,\n-\t\t413 & 0xff}\n+\t\t(173 >> 8) & 0xff,\n+\t\t173 & 0xff}\n \t},\n \t{\n \t.description = \"reserved\",\n@@ -9754,6 +10112,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 33,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9824,6 +10183,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 33,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9842,13 +10202,12 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {\n-\t\tULP_WP_SYM_EEM_ACT_REC_INT}\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n \t.description = \"act_rec_size\",\n \t.field_bit_size = 5,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9901,6 +10260,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_id\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -9910,6 +10270,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"prof_func_id\",\n \t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -9926,6 +10287,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"parif\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF,\n \t.field_cond_opr = {\n \t\t(BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP >> 8) & 0xff,\n@@ -9976,6 +10338,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"sp_rec_ptr\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10039,6 +10402,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.1\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -10048,6 +10412,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.2\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -10057,6 +10422,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.3\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -10073,6 +10439,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.5\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -10082,6 +10449,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.6\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -10121,6 +10489,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_profile_id\",\n \t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10177,6 +10546,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.1\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -10193,6 +10563,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.3\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -10202,6 +10573,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.4\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,\n \t.field_opr1 = {\n@@ -10218,6 +10590,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.6\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -10227,6 +10600,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_key_mask.7\",\n \t.field_bit_size = 1,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -10259,6 +10633,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_profile_id\",\n \t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10285,6 +10660,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"rid\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10294,6 +10670,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"profile_tcam_index\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10303,6 +10680,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"em_profile_id\",\n \t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10310,7 +10688,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t\tBNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}\n \t},\n \t{\n-\t.description = \"wm_profile_id\",\n+\t.description = \"wc_profile_id\",\n \t.field_bit_size = 8,\n \t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n@@ -10319,6 +10697,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"flow_sig_id\",\n \t.field_bit_size = 8,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -10329,6 +10708,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 33,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10399,6 +10779,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 33,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10417,13 +10798,12 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {\n-\t\tULP_WP_SYM_EEM_ACT_REC_INT}\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n \t.description = \"act_rec_size\",\n \t.field_bit_size = 5,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10437,8 +10817,8 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n \t.field_opr1 = {\n-\t\t(413 >> 8) & 0xff,\n-\t\t413 & 0xff}\n+\t\t(173 >> 8) & 0xff,\n+\t\t173 & 0xff}\n \t},\n \t{\n \t.description = \"reserved\",\n@@ -10476,6 +10856,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 33,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10546,6 +10927,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 33,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10564,13 +10946,12 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t.field_bit_size = 1,\n \t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n-\t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {\n-\t\tULP_WP_SYM_EEM_ACT_REC_INT}\n+\t.field_src1 = BNXT_ULP_FIELD_SRC_ZERO\n \t},\n \t{\n \t.description = \"act_rec_size\",\n \t.field_bit_size = 5,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10756,6 +11137,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -10808,6 +11190,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_id\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10817,6 +11200,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"prof_func_id\",\n \t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -10833,6 +11217,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"parif\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -10908,6 +11293,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"rid\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10917,6 +11303,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_tcam_index\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10926,6 +11313,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_id\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10943,6 +11331,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10953,6 +11342,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -10963,6 +11353,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11106,6 +11497,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -11181,6 +11573,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"parif\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -11258,6 +11651,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"rid\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11267,6 +11661,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_tcam_index\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11291,6 +11686,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_id\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11300,6 +11696,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"prof_func_id\",\n \t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -11316,6 +11713,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"parif\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -11391,6 +11789,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"rid\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11400,6 +11799,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_tcam_index\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11409,6 +11809,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_id\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11559,6 +11960,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -11611,6 +12013,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11621,6 +12024,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11631,6 +12035,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11739,6 +12144,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"rid\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11748,6 +12154,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_tcam_index\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -11835,6 +12242,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"vtag_vid\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -11922,6 +12330,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"encap_ptr\",\n \t.field_bit_size = 11,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -12187,6 +12596,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -12241,6 +12651,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_record_ptr\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -12339,6 +12750,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_record_ptr\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -12437,6 +12849,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_id\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -12446,6 +12859,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"prof_func_id\",\n \t.field_bit_size = 7,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -12462,9 +12876,11 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"parif\",\n \t.field_bit_size = 4,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CONST,\n-\t.field_opr1 = {ULP_WP_SYM_LOOPBACK_PARIF & 0xff}\n+\t.field_opr1 = {\n+\t\tULP_WP_SYM_LOOPBACK_PARIF}\n \t},\n \t{\n \t.description = \"allowed_pri\",\n@@ -12535,6 +12951,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"rid\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -12544,6 +12961,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_tcam_index\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -12553,6 +12971,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"l2_cntxt_id\",\n \t.field_bit_size = 10,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n@@ -12570,6 +12989,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -12580,6 +13000,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -12590,6 +13011,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_rec_ptr\",\n \t.field_bit_size = 32,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,\n \t.field_opr1 = {\n@@ -12733,6 +13155,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"vnic_or_vport\",\n \t.field_bit_size = 12,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_CF,\n \t.field_opr1 = {\n@@ -12785,6 +13208,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {\n \t{\n \t.description = \"act_record_ptr\",\n \t.field_bit_size = 16,\n+\t.field_opc = BNXT_ULP_FIELD_OPC_COND_OP,\n \t.field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,\n \t.field_src1 = BNXT_ULP_FIELD_SRC_RF,\n \t.field_opr1 = {\n",
    "prefixes": [
        "v2",
        "43/58"
    ]
}