From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C0F29458A9; Fri, 30 Aug 2024 16:08:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F164E42F76; Fri, 30 Aug 2024 16:03:45 +0200 (CEST) Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) by mails.dpdk.org (Postfix) with ESMTP id EAE5B42EE3 for ; Fri, 30 Aug 2024 15:55:40 +0200 (CEST) Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-7140ff4b1e9so1578097b3a.3 for ; Fri, 30 Aug 2024 06:55:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1725026140; x=1725630940; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QrRBbkZCLrubowCcUgyXU0+SsuXyym5oQ9rtnQYLbtE=; b=ZbwgwMjxwWkb33Dug9MIoO7fRADo5doQCPOoAScMSK0Y3fnd/0JUa1bhCZq6V8kdN/ eQ6IyAiwNtxYXqYq138mU87xtv27voBpM595Bk+Y5Z73ABXOlJgkDFR7ydeJ/iC4i0bU WaaYNx+vX2Ck3fDZGx1waSVe5RqZNUWB+E3Qc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725026140; x=1725630940; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QrRBbkZCLrubowCcUgyXU0+SsuXyym5oQ9rtnQYLbtE=; b=dfXfT97+gtJjoFkHTxJLIXccxmlMwTQJRJsOpLzE5clriI6TFlHMUXOevROGRNOE1U ecM2rccpI5SwZSB2ufRdk7PfDgZ/TETK/TAug/7vEBul3j+m74DOtJFZeUgdHOx9G5ue a+3HvYRsl1gfY7ks604d7uvhSOb6oNZeLpS2s6JB4z7xiz+2QvKHyHyySp5lbuVs6BiS N7NMQn4NmZ6w15741M5FCGwqpY8miv85FjwGgOI6ExEzIuFeGi5U202WKzaVEf4v+Zss bAYFMd2x1buSbdndNSHAMOd1SkDm8al8mPno66Vb21Vph6ybGHU0bi+YNHI3sTMHDjhp Wpxg== X-Gm-Message-State: AOJu0YwukpjDCMuRLau8QAT9L5TokPGDlcOgasP4pdIlwd1OEND/5huK AvxGZRbHu3lPGaeY3gwD3qFXT+daqHlBNwE0GV8sgDqgrE2Aq03+pC8qt4WkLLUjLPnmf2LRrDm UZsHopYA15O4wswoDiWk5Z+EBkCZxkCJDinKNuYi8SrMzCIuM+jf3VqtZi8+NOE39JCbbUiN8XN aM4KNjKuQFag9T2MZx1NBb5en7DV++CU/U8m5UXT4N8fcB X-Google-Smtp-Source: AGHT+IGS6d8+RopvweeP7fWmxiq7L/19xISXLtwkFBBV1/ygIDBbEXgNuV/7MCuqqZNBiWfebIUZ3Q== X-Received: by 2002:a17:902:f648:b0:1fb:4f8f:f212 with SMTP id d9443c01a7336-2050c4e89a1mr68488105ad.60.1725026137360; Fri, 30 Aug 2024 06:55:37 -0700 (PDT) Received: from dhcp-10-123-154-23.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-205155658dfsm27067145ad.297.2024.08.30.06.55.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Aug 2024 06:55:35 -0700 (PDT) From: Sriharsha Basavapatna To: dev@dpdk.org Cc: Kishore Padmanabha , Sriharsha Basavapatna , Michael Baucom Subject: [PATCH 43/47] net/bnxt: tf_ulp: update template files Date: Fri, 30 Aug 2024 19:30:45 +0530 Message-Id: <20240830140049.1715230-44-sriharsha.basavapatna@broadcom.com> X-Mailer: git-send-email 2.39.0.189.g4dbebc36b0 In-Reply-To: <20240830140049.1715230-1-sriharsha.basavapatna@broadcom.com> References: <20240830140049.1715230-1-sriharsha.basavapatna@broadcom.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Fri, 30 Aug 2024 16:03:20 +0200 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Kishore Padmanabha This patch updates template files for the following list of changes, that are being added in the subsequent patches. - enable support for truflow feature configuration - add support for port table write operation - support generic template for socket direct - add support for truflow promiscuous mode - set metadata for profile tcam entry - support the group miss action Signed-off-by: Kishore Padmanabha Signed-off-by: Sriharsha Basavapatna Reviewed-by: Michael Baucom --- .../generic_templates/ulp_template_db_enum.h | 74 +- .../generic_templates/ulp_template_db_tbl.c | 151 + .../ulp_template_db_thor2_class.c | 266 +- .../ulp_template_db_thor_class.c | 53844 ++++++++++------ .../ulp_template_db_wh_plus_class.c | 84 +- 5 files changed, 33938 insertions(+), 20481 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h index 445c64134f..7ce5cc9a48 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_enum.h @@ -6,10 +6,10 @@ #ifndef ULP_TEMPLATE_DB_H_ #define ULP_TEMPLATE_DB_H_ -#define BNXT_ULP_REGFILE_MAX_SZ 99 +#define BNXT_ULP_REGFILE_MAX_SZ 102 #define BNXT_ULP_MAX_NUM_DEVICES 5 #define BNXT_ULP_LOG2_MAX_NUM_DEV 2.32192809488736 -#define BNXT_ULP_GEN_TBL_MAX_SZ 56 +#define BNXT_ULP_GEN_TBL_MAX_SZ 60 #define BNXT_ULP_ALLOCATOR_TBL_MAX_SZ 2 #define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 163 #define BNXT_ULP_ACT_MATCH_LIST_MAX_SZ 21 @@ -23,24 +23,24 @@ #define BNXT_ULP_APP_ID_CONFIG 0 #define BNXT_ULP_GLB_FIELD_TBL_SIZE 129 #define BNXT_ULP_GLB_SIG_TBL_SIZE 1 -#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 5 -#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 95 +#define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 8 +#define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 98 #define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 683 #define ULP_WH_PLUS_CLASS_KEY_EXT_LIST_SIZE 0 #define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 29 #define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 657 #define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 50 #define ULP_WH_PLUS_CLASS_COND_OPER_LIST_SIZE 0 -#define ULP_THOR_CLASS_TMPL_LIST_SIZE 5 -#define ULP_THOR_CLASS_TBL_LIST_SIZE 175 -#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 717 -#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 628 -#define ULP_THOR_CLASS_IDENT_LIST_SIZE 52 -#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1280 -#define ULP_THOR_CLASS_COND_LIST_SIZE 3847 +#define ULP_THOR_CLASS_TMPL_LIST_SIZE 8 +#define ULP_THOR_CLASS_TBL_LIST_SIZE 214 +#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 936 +#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 794 +#define ULP_THOR_CLASS_IDENT_LIST_SIZE 67 +#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1320 +#define ULP_THOR_CLASS_COND_LIST_SIZE 4945 #define ULP_THOR_CLASS_COND_OPER_LIST_SIZE 15 -#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 5 -#define ULP_THOR2_CLASS_TBL_LIST_SIZE 181 +#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 8 +#define ULP_THOR2_CLASS_TBL_LIST_SIZE 182 #define ULP_THOR2_CLASS_KEY_INFO_LIST_SIZE 737 #define ULP_THOR2_CLASS_KEY_EXT_LIST_SIZE 660 #define ULP_THOR2_CLASS_IDENT_LIST_SIZE 61 @@ -319,7 +319,8 @@ enum bnxt_ulp_cf_idx { BNXT_ULP_CF_IDX_GROUP_ID = 106, BNXT_ULP_CF_IDX_TUNNEL_PORT = 107, BNXT_ULP_CF_IDX_OUTER_EM_ONLY = 108, - BNXT_ULP_CF_IDX_LAST = 109 + BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF = 109, + BNXT_ULP_CF_IDX_LAST = 110 }; enum bnxt_ulp_cond_list_opc { @@ -540,7 +541,8 @@ enum bnxt_ulp_func_opc { BNXT_ULP_FUNC_OPC_ADD = 24, BNXT_ULP_FUNC_OPC_SUB = 25, BNXT_ULP_FUNC_OPC_COND_LIST = 26, - BNXT_ULP_FUNC_OPC_LAST = 27 + BNXT_ULP_FUNC_OPC_PORT_TABLE = 27, + BNXT_ULP_FUNC_OPC_LAST = 28 }; enum bnxt_ulp_func_src { @@ -757,11 +759,12 @@ enum bnxt_ulp_port_table { BNXT_ULP_PORT_TABLE_PHY_PORT_SPIF = 14, BNXT_ULP_PORT_TABLE_PHY_PORT_PARIF = 15, BNXT_ULP_PORT_TABLE_PHY_PORT_VPORT = 16, - BNXT_ULP_PORT_TABLE_PORT_IS_PF = 17, - BNXT_ULP_PORT_TABLE_VF_FUNC_METADATA = 18, - BNXT_ULP_PORT_TABLE_VF_FUNC_FID = 19, - BNXT_ULP_PORT_TABLE_TABLE_SCOPE = 20, - BNXT_ULP_PORT_TABLE_LAST = 21 + BNXT_ULP_PORT_TABLE_PHY_PORT_MIRROR_ID = 17, + BNXT_ULP_PORT_TABLE_PORT_IS_PF = 18, + BNXT_ULP_PORT_TABLE_VF_FUNC_METADATA = 19, + BNXT_ULP_PORT_TABLE_VF_FUNC_FID = 20, + BNXT_ULP_PORT_TABLE_TABLE_SCOPE = 21, + BNXT_ULP_PORT_TABLE_LAST = 22 }; enum bnxt_ulp_pri_opc { @@ -882,7 +885,10 @@ enum bnxt_ulp_rf_idx { BNXT_ULP_RF_IDX_OUTER_LOOP = 96, BNXT_ULP_RF_IDX_INNER_LOOP = 97, BNXT_ULP_RF_IDX_OUTER_ADD = 98, - BNXT_ULP_RF_IDX_LAST = 99 + BNXT_ULP_RF_IDX_RID_1 = 99, + BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR = 100, + BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET = 101, + BNXT_ULP_RF_IDX_LAST = 102 }; enum bnxt_ulp_tcam_tbl_opc { @@ -928,7 +934,8 @@ enum bnxt_ulp_fdb_resource_flags { enum bnxt_ulp_feature_bit { BNXT_ULP_FEATURE_BIT_PARENT_DMAC = 0x00000001, BNXT_ULP_FEATURE_BIT_PORT_DMAC = 0x00000002, - BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW = 0x00000004 + BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW = 0x00000004, + BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT = 0x00000008 }; enum bnxt_ulp_flow_dir_bitmask { @@ -992,6 +999,8 @@ enum bnxt_ulp_resource_sub_type { BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_L2_CNTXT = 25, BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_GPARSE_CACHE = 26, BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MULTI_FLOW_TUNNEL_CACHE = 27, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE = 28, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE = 29, BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX = 0, BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_RSS = 0, BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_QUEUE = 1, @@ -1196,6 +1205,8 @@ enum ulp_wp_sym { ULP_WP_SYM_METADATA_OP_NORMAL = 0, ULP_WP_SYM_METADATA_OP_L2_HASH = 0, ULP_WP_SYM_METADATA_OP_L4_HASH = 0, + ULP_WP_SYM_DIR_INGRESS = 1, + ULP_WP_SYM_DIR_EGRESS = 2, ULP_WP_SYM_FWD_OP_BYPASS_CFA = 0, ULP_WP_SYM_FWD_OP_BYPASS_CFA_ROCE = 0, ULP_WP_SYM_FWD_OP_BYPASS_LKUP = 0, @@ -1211,6 +1222,7 @@ enum ulp_wp_sym { ULP_WP_SYM_L2_CTXT_PRI_PORT = 0, ULP_WP_SYM_L2_CTXT_PRI_APP = 0, ULP_WP_SYM_PROF_TCAM_PRI_CATCHALL = 0, + ULP_WP_SYM_PROF_TCAM_PRI_GRPCATCHALL = 0, ULP_WP_SYM_PROF_TCAM_PRI_APP = 0, ULP_WP_SYM_PROF_TCAM_PRI_L4 = 0, ULP_WP_SYM_PROF_TCAM_PRI_L3 = 0, @@ -1496,6 +1508,8 @@ enum ulp_thor_sym { ULP_THOR_SYM_METADATA_OP_NORMAL = 0, ULP_THOR_SYM_METADATA_OP_L2_HASH = 1, ULP_THOR_SYM_METADATA_OP_L4_HASH = 2, + ULP_THOR_SYM_DIR_INGRESS = 1, + ULP_THOR_SYM_DIR_EGRESS = 2, ULP_THOR_SYM_FWD_OP_BYPASS_CFA = 0, ULP_THOR_SYM_FWD_OP_BYPASS_CFA_ROCE = 1, ULP_THOR_SYM_FWD_OP_BYPASS_LKUP = 2, @@ -1510,11 +1524,12 @@ enum ulp_thor_sym { ULP_THOR_SYM_L2_CTXT_PRI_MC_BC = 0, ULP_THOR_SYM_L2_CTXT_PRI_PORT = 0, ULP_THOR_SYM_L2_CTXT_PRI_APP = 0, - ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL = 0, + ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL = 5, + ULP_THOR_SYM_PROF_TCAM_PRI_GRPCATCHALL = 4, ULP_THOR_SYM_PROF_TCAM_PRI_APP = 0, ULP_THOR_SYM_PROF_TCAM_PRI_L4 = 0, - ULP_THOR_SYM_PROF_TCAM_PRI_L3 = 0, - ULP_THOR_SYM_PROF_TCAM_PRI_L2 = 0, + ULP_THOR_SYM_PROF_TCAM_PRI_L3 = 1, + ULP_THOR_SYM_PROF_TCAM_PRI_L2 = 2, ULP_THOR_SYM_PKT_TYPE_IGNORE = 0, ULP_THOR_SYM_PKT_TYPE_L2 = 0, ULP_THOR_SYM_PKT_TYPE_0_IGNORE = 0, @@ -1796,6 +1811,8 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_METADATA_OP_NORMAL = 0, ULP_THOR2_SYM_METADATA_OP_L2_HASH = 1, ULP_THOR2_SYM_METADATA_OP_L4_HASH = 2, + ULP_THOR2_SYM_DIR_INGRESS = 1, + ULP_THOR2_SYM_DIR_EGRESS = 2, ULP_THOR2_SYM_FWD_OP_BYPASS_CFA = 0, ULP_THOR2_SYM_FWD_OP_BYPASS_CFA_ROCE = 1, ULP_THOR2_SYM_FWD_OP_BYPASS_LKUP = 2, @@ -1811,6 +1828,7 @@ enum ulp_thor2_sym { ULP_THOR2_SYM_L2_CTXT_PRI_PORT = 70, ULP_THOR2_SYM_L2_CTXT_PRI_APP = 140, ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL = 1, + ULP_THOR2_SYM_PROF_TCAM_PRI_GRPCATCHALL = 1, ULP_THOR2_SYM_PROF_TCAM_PRI_APP = 10, ULP_THOR2_SYM_PROF_TCAM_PRI_L4 = 10, ULP_THOR2_SYM_PROF_TCAM_PRI_L3 = 8, @@ -2097,5 +2115,11 @@ enum bnxt_ulp_df_tpl { BNXT_ULP_DF_TPL_DEFAULT_VFR = 4 }; +enum bnxt_ulp_template_id { + BNXT_ULP_TEMPLATE_PROMISCUOUS_ENABLE = 5, + BNXT_ULP_TEMPLATE_PROMISCUOUS_DISABLE = 6, + BNXT_ULP_TEMPLATE_GROUP_MISS_ACTION = 7 +}; + #endif diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c index 3c6d331e03..2ab423eb36 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c @@ -680,6 +680,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_wh_plus_generic_tbl_params[] = { .num_buckets = 0, .hash_tbl_entries = 0, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_PROF_FUNC_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_PROF_FUNC_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, } }; @@ -1355,6 +1403,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor_generic_tbl_params[] = { .num_buckets = 4, .hash_tbl_entries = 512, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_PROF_FUNC_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 8, + .result_num_bytes = 5, + .key_num_bytes = 1, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_PROF_FUNC_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, + .result_num_entries = 128, + .result_num_bytes = 6, + .key_num_bytes = 6, + .partial_key_num_bytes = 0, + .num_buckets = 4, + .hash_tbl_entries = 512, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, + .result_num_entries = 128, + .result_num_bytes = 6, + .key_num_bytes = 6, + .partial_key_num_bytes = 0, + .num_buckets = 4, + .hash_tbl_entries = 512, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE } }; @@ -2030,6 +2126,54 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = { .num_buckets = 4, .hash_tbl_entries = 512, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_PROF_FUNC_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_PROF_FUNC_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_SIMPLE_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .name = "INGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .name = "EGRESS GENERIC_TABLE_GROUP_MISS_ACTION_CACHE", + .gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_HASH_LIST, + .result_num_entries = 0, + .result_num_bytes = 0, + .key_num_bytes = 0, + .partial_key_num_bytes = 0, + .num_buckets = 0, + .hash_tbl_entries = 0, + .result_byte_order = BNXT_ULP_BYTE_ORDER_LE, } }; @@ -2365,6 +2509,10 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .vxlan_port = 0, .vxlan_ip_port = 0, .num_key_recipes_per_dir = 256, + .feature_bits = BNXT_ULP_FEATURE_BIT_PORT_DMAC | + BNXT_ULP_FEATURE_BIT_PARENT_DMAC | + BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW | + BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT, .default_class_bits = 0, .default_act_bits = BNXT_ULP_ACT_BIT_GENERIC }, @@ -2388,6 +2536,9 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { .em_tx_key_max_sz = 112, .pbl_page_sz_in_bytes = 4096, .num_key_recipes_per_dir = 256, + .feature_bits = BNXT_ULP_FEATURE_BIT_PORT_DMAC | + BNXT_ULP_FEATURE_BIT_PARENT_DMAC | + BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW, .default_class_bits = 0, .default_act_bits = BNXT_ULP_ACT_BIT_GENERIC } diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c index 6e163e61a5..d7098617f9 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_class.c @@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = { /* class_tid: 1, ingress */ [1] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 77, + .num_tbls = 76, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, @@ -23,8 +23,8 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = { /* class_tid: 2, egress */ [2] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, - .num_tbls = 50, - .start_tbl_idx = 77, + .num_tbls = 49, + .start_tbl_idx = 76, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, .cond_start_idx = 2109, @@ -34,7 +34,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = { [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 35, - .start_tbl_idx = 127, + .start_tbl_idx = 125, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, .cond_start_idx = 4177, @@ -44,11 +44,41 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = { [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR2, .num_tbls = 19, - .start_tbl_idx = 162, + .start_tbl_idx = 160, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, .cond_start_idx = 4181, .cond_nums = 0 } + }, + /* class_tid: 5, ingress */ + [5] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR2, + .num_tbls = 1, + .start_tbl_idx = 179, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4183, + .cond_nums = 0 } + }, + /* class_tid: 6, ingress */ + [6] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR2, + .num_tbls = 1, + .start_tbl_idx = 180, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4183, + .cond_nums = 0 } + }, + /* class_tid: 7, ingress */ + [7] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR2, + .num_tbls = 1, + .start_tbl_idx = 181, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4183, + .cond_nums = 0 } } }; @@ -1001,12 +1031,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 13, + .cond_false_goto = 12, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 141, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID }, { /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ .description = "hdr_overlap_cache.overlap_check", @@ -1023,7 +1054,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .key_start_idx = 99, .blob_key_bit_size = 12, .key_bit_size = 12, @@ -1046,7 +1077,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID + .fdb_operand = BNXT_ULP_RF_IDX_RID_1 }, { /* class_tid: 1, , table: profile_tcam.allocate_wc_profile */ .description = "profile_tcam.allocate_wc_profile", @@ -1063,7 +1094,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST, .pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, @@ -1085,7 +1116,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .track_type = CFA_TRACK_TYPE_SID, .result_start_idx = 60, .result_bit_size = 256, @@ -1106,7 +1137,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, .key_start_idx = 102, .blob_key_bit_size = 12, .key_bit_size = 12, @@ -1118,20 +1150,6 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .result_bit_size = 48, .result_num_fields = 3 }, - { /* class_tid: 1, , table: control.proto_header_rid_alloc */ - .description = "control.proto_header_rid_alloc", - .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 485, - .cond_nums = 0 }, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID - }, { /* class_tid: 1, , table: fkb_select.em_gen_template_alloc */ .description = "fkb_select.em_gen_template_alloc", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -1563,7 +1581,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = -30, + .cond_true_goto = -29, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, .cond_start_idx = 2109, @@ -1984,12 +2002,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 13, + .cond_false_goto = 12, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 2202, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID }, { /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ .description = "hdr_overlap_cache.overlap_check", @@ -2006,7 +2025,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .key_start_idx = 273, .blob_key_bit_size = 12, .key_bit_size = 12, @@ -2029,7 +2048,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID + .fdb_operand = BNXT_ULP_RF_IDX_RID_1 }, { /* class_tid: 2, , table: profile_tcam.allocate_wc_profile */ .description = "profile_tcam.allocate_wc_profile", @@ -2046,7 +2065,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, @@ -2068,7 +2087,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .track_type = CFA_TRACK_TYPE_SID, .result_start_idx = 662, .result_bit_size = 256, @@ -2089,7 +2108,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, .key_start_idx = 276, .blob_key_bit_size = 12, .key_bit_size = 12, @@ -2101,20 +2121,6 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .result_bit_size = 48, .result_num_fields = 3 }, - { /* class_tid: 2, , table: control.proto_header_rid_alloc */ - .description = "control.proto_header_rid_alloc", - .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, - .direction = TF_DIR_TX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2549, - .cond_nums = 0 }, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID - }, { /* class_tid: 2, , table: fkb_select.em_gen_template_alloc */ .description = "fkb_select.em_gen_template_alloc", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -2547,7 +2553,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = -29, + .cond_true_goto = -28, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, .cond_start_idx = 4177, @@ -3793,6 +3799,48 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = { .func_opr2 = BNXT_ULP_CF_IDX_DEV_PORT_ID, .func_dst_opr = BNXT_ULP_RF_IDX_CC }, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG + }, + { /* class_tid: 5, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: Thor2 not supporting promiscuous template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4183, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 6, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: Thor2 not supporting promiscuous template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4183, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 7, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: Thor2 not supporting group miss action template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4183, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP } }; @@ -23894,9 +23942,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 139 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -23965,9 +24014,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 142 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -24037,9 +24087,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 483 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -25407,12 +25458,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 24) & 0xff, - (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 16) & 0xff, - (ULP_THOR2_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, - ULP_THOR2_SYM_CHAIN_META_VAL_MASK & 0xff} + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { .description = "metadata", @@ -25428,7 +25479,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -26760,9 +26811,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1277 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -26845,9 +26897,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 1282 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -28068,9 +28121,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 2094 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -28803,9 +28857,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 2200 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -28874,9 +28929,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 2203 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -28946,9 +29002,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 2547 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -30335,12 +30392,12 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .description = "metadata", .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (0xf0000000 >> 24) & 0xff, - (0xf0000000 >> 16) & 0xff, - (0xf0000000 >> 8) & 0xff, - 0xf0000000 & 0xff} + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { .description = "metadata", @@ -30356,7 +30413,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { .field_opr2 = { (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { @@ -31688,9 +31745,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 3345 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -31773,9 +31831,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 3350 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -32996,9 +33055,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = { 4162 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR2_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -50274,8 +50334,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} + (BNXT_ULP_RF_IDX_RID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID_1 & 0xff} }, { .description = "wc_profile_id", @@ -54932,8 +54992,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} + (BNXT_ULP_RF_IDX_RID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID_1 & 0xff} }, { .description = "wc_profile_id", @@ -60504,7 +60564,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "l2_cntxt_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 @@ -60534,7 +60594,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "l2_cntxt_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 @@ -60550,7 +60610,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "l2_cntxt_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 @@ -60615,7 +60675,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "wc_profile_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_WC_PROF, + .ident_type = CFA_RSUBTYPE_IDENT_WC_PROF, .regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0, .ident_bit_size = 8, .ident_bit_pos = 12 @@ -60624,7 +60684,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "em_profile_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_EM_PROF, + .ident_type = CFA_RSUBTYPE_IDENT_EM_PROF, .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, .ident_bit_size = 8, .ident_bit_pos = 33 @@ -60730,7 +60790,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "wc_profile_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_WC_PROF, + .ident_type = CFA_RSUBTYPE_IDENT_WC_PROF, .regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0, .ident_bit_size = 8, .ident_bit_pos = 12 @@ -60739,7 +60799,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "em_profile_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_EM_PROF, + .ident_type = CFA_RSUBTYPE_IDENT_EM_PROF, .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, .ident_bit_size = 8, .ident_bit_pos = 33 @@ -60768,7 +60828,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "prof_func_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_PROF_FUNC, + .ident_type = CFA_RSUBTYPE_IDENT_PROF_FUNC, .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, .ident_bit_size = 0, .ident_bit_pos = 0 @@ -60784,7 +60844,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "l2_cntxt_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 @@ -60793,7 +60853,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "prof_func_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_PROF_FUNC, + .ident_type = CFA_RSUBTYPE_IDENT_PROF_FUNC, .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, .ident_bit_size = 8, .ident_bit_pos = 100 @@ -60801,7 +60861,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "l2_cntxt_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 @@ -60817,7 +60877,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "l2_cntxt_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 @@ -60845,7 +60905,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "prof_func_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_PROF_FUNC, + .ident_type = CFA_RSUBTYPE_IDENT_PROF_FUNC, .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, .ident_bit_size = 0, .ident_bit_pos = 0 @@ -60861,7 +60921,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = { { .description = "l2_cntxt_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, + .ident_type = CFA_RSUBTYPE_IDENT_L2CTX, .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 11, .ident_bit_pos = 109 diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c index 222ff0a961..2fe0dd24db 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor_class.c @@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = { /* class_tid: 1, ingress */ [1] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, - .num_tbls = 72, + .num_tbls = 78, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, @@ -23,31 +23,61 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = { /* class_tid: 2, egress */ [2] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, - .num_tbls = 46, - .start_tbl_idx = 72, + .num_tbls = 48, + .start_tbl_idx = 78, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 1943, + .cond_start_idx = 2488, .cond_nums = 0 } }, /* class_tid: 3, ingress */ [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 22, - .start_tbl_idx = 118, + .start_tbl_idx = 126, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 3836, + .cond_start_idx = 4915, .cond_nums = 0 } }, /* class_tid: 4, egress */ [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, .num_tbls = 35, - .start_tbl_idx = 140, + .start_tbl_idx = 148, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 3843, + .cond_start_idx = 4922, + .cond_nums = 0 } + }, + /* class_tid: 5, ingress */ + [5] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR, + .num_tbls = 7, + .start_tbl_idx = 183, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4926, + .cond_nums = 0 } + }, + /* class_tid: 6, ingress */ + [6] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR, + .num_tbls = 3, + .start_tbl_idx = 190, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4936, + .cond_nums = 0 } + }, + /* class_tid: 7, ingress */ + [7] = { + .device_name = BNXT_ULP_DEVICE_ID_THOR, + .num_tbls = 21, + .start_tbl_idx = 193, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 4938, .cond_nums = 0 } } }; @@ -229,11 +259,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .result_bit_size = 80, .result_num_fields = 3 }, - { /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ - .description = "l2_cntxt_tcam_cache.rd", + { /* class_tid: 1, , table: prof_func_cache.ing_rd */ + .description = "prof_func_cache.ing_rd", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE, .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, @@ -246,11 +276,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .key_start_idx = 3, - .blob_key_bit_size = 11, - .key_bit_size = 11, + .blob_key_bit_size = 8, + .key_bit_size = 8, .key_num_fields = 1, .ident_start_idx = 4, - .ident_nums = 3 + .ident_nums = 1 }, { /* class_tid: 1, , table: control.check_f1_f2_flow */ .description = "control.check_f1_f2_flow", @@ -285,7 +315,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .blob_key_bit_size = 19, .key_bit_size = 19, .key_num_fields = 2, - .ident_start_idx = 7, + .ident_start_idx = 5, .ident_nums = 1 }, { /* class_tid: 1, , table: control.tunnel_cache_check */ @@ -321,7 +351,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 8, + .ident_start_idx = 6, .ident_nums = 1 }, { /* class_tid: 1, , table: tunnel_cache.f1_f2_wr */ @@ -353,7 +383,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = 27, + .cond_true_goto = 31, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 30, @@ -380,6 +410,43 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opr1 = 2, .func_dst_opr = BNXT_ULP_RF_IDX_O_DMAC } }, + { /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ + .description = "l2_cntxt_tcam_cache.rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 35, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 8, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 7, + .ident_nums = 2 + }, + { /* class_tid: 1, , table: control.prof_func_miss */ + .description = "control.prof_func_miss", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "reject the flow since there is no dmac for the flow and port is in non-promisc mode.", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 36, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, { /* class_tid: 1, , table: control.check_tunnel_recycle */ .description = "control.check_tunnel_recycle", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, @@ -402,7 +469,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 38, + .cond_start_idx = 40, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -417,13 +484,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 8, + .key_start_idx = 9, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, @@ -438,7 +505,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 64, + .cond_start_idx = 66, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -454,7 +521,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 67, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -473,7 +540,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 67, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -494,7 +561,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 67, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -515,13 +582,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 65, + .cond_start_idx = 67, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 17, + .key_start_idx = 18, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, @@ -537,7 +604,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 7, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 93, + .cond_start_idx = 95, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -554,9 +621,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 10, + .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 93, + .cond_start_idx = 95, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -571,13 +638,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 94, + .cond_start_idx = 96, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 26, + .key_start_idx = 27, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -592,7 +659,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 94, + .cond_start_idx = 96, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -608,7 +675,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 97, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, @@ -627,7 +694,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 97, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -650,13 +717,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 95, + .cond_start_idx = 97, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 27, + .key_start_idx = 28, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, @@ -672,15 +739,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 95, + .cond_start_idx = 97, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 28, + .key_start_idx = 29, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, @@ -693,9 +760,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 3, + .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 97, + .cond_start_idx = 101, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -710,7 +777,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 98, + .cond_start_idx = 102, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -720,7 +787,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 29, + .key_start_idx = 30, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, @@ -730,6 +797,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .ident_start_idx = 12, .ident_nums = 1 }, + { /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ + .description = "l2_cntxt_tcam.chain_entry_dup", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 104, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 0, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 51, + .blob_key_bit_size = 213, + .key_bit_size = 213, + .key_num_fields = 21, + .result_start_idx = 19, + .result_bit_size = 43, + .result_num_fields = 6, + .ident_start_idx = 13, + .ident_nums = 0 + }, { /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ .description = "flow_chain_l2_cntxt.write", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -740,17 +836,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 100, + .cond_start_idx = 107, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 50, + .key_start_idx = 72, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 19, + .result_start_idx = 25, .result_bit_size = 42, .result_num_fields = 2 }, @@ -762,15 +858,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 5, + .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 100, + .cond_start_idx = 109, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 51, + .key_start_idx = 73, .blob_key_bit_size = 110, .key_bit_size = 110, .key_num_fields = 8, @@ -783,9 +879,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 105, + .cond_start_idx = 116, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -800,7 +896,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 106, + .cond_start_idx = 117, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -822,7 +918,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 108, + .cond_start_idx = 119, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -832,11 +928,40 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 59, + .key_start_idx = 81, + .blob_key_bit_size = 213, + .key_bit_size = 213, + .key_num_fields = 21, + .result_start_idx = 27, + .result_bit_size = 43, + .result_num_fields = 6, + .ident_start_idx = 15, + .ident_nums = 0 + }, + { /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ + .description = "l2_cntxt_tcam.ingress_entry_dup", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 121, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 0, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 102, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, - .result_start_idx = 21, + .result_start_idx = 33, .result_bit_size = 43, .result_num_fields = 6, .ident_start_idx = 15, @@ -852,18 +977,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 110, + .cond_start_idx = 124, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 80, + .key_start_idx = 123, .blob_key_bit_size = 110, .key_bit_size = 110, .key_num_fields = 8, - .result_start_idx = 27, - .result_bit_size = 70, + .result_start_idx = 39, + .result_bit_size = 69, .result_num_fields = 5 }, { /* class_tid: 1, , table: control.check_f1_flow */ @@ -874,7 +999,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 113, + .cond_start_idx = 129, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -915,7 +1040,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 128, + .cond_start_idx = 144, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -936,13 +1061,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 139, + .cond_start_idx = 155, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 88, + .key_start_idx = 131, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, @@ -955,12 +1080,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 13, + .cond_false_goto = 15, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 141, + .cond_start_idx = 157, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID }, { /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ .description = "hdr_overlap_cache.overlap_check", @@ -972,17 +1098,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 142, + .cond_start_idx = 158, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 91, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 134, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 93, + .partial_key_start_idx = 136, .partial_key_num_fields = 1, .partial_key_bit_size = 64, .ident_start_idx = 22, @@ -994,13 +1120,57 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 144, + .cond_start_idx = 160, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID + .fdb_operand = BNXT_ULP_RF_IDX_RID_1 + }, + { /* class_tid: 1, , table: group_miss_action_cache.rd */ + .description = "group_miss_action_cache.rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 161, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 137, + .blob_key_bit_size = 43, + .key_bit_size = 43, + .key_num_fields = 2, + .ident_start_idx = 24, + .ident_nums = 1 + }, + { /* class_tid: 1, , table: control.ing_catch_all */ + .description = "control.ing_catch_all", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 163, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_oper_size = 8, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 0, + .func_dst_opr = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET } }, { /* class_tid: 1, , table: profile_tcam.allocate_wc_profile */ .description = "profile_tcam.allocate_wc_profile", @@ -1011,17 +1181,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 145, + .cond_start_idx = 163, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, - .pri_opcode = BNXT_ULP_PRI_OPC_CONST, - .pri_operand = 0, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, + .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST, + .pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_APP, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 24, + .ident_start_idx = 25, .ident_nums = 1 }, { /* class_tid: 1, , table: fkb_select.wc_gen_template */ @@ -1033,18 +1203,47 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 145, + .cond_start_idx = 163, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 32, + .result_start_idx = 44, .result_bit_size = 106, .result_num_fields = 106 }, + { /* class_tid: 1, , table: wm.ingress_generic_template_grp_catch_all */ + .description = "wm.ingress_generic_template_grp_catch_all", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 419, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 1, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 139, + .blob_key_bit_size = 0, + .key_bit_size = 0, + .key_num_fields = 33, + .result_start_idx = 150, + .result_bit_size = 38, + .result_num_fields = 5 + }, { /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ .description = "hdr_overlap_cache.overlap_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -1055,37 +1254,24 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 400, + .cond_start_idx = 940, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 94, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .key_start_idx = 172, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 96, + .partial_key_start_idx = 174, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .result_start_idx = 138, + .result_start_idx = 155, .result_bit_size = 48, .result_num_fields = 3 }, - { /* class_tid: 1, , table: control.proto_header_rid_alloc */ - .description = "control.proto_header_rid_alloc", - .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 402, - .cond_nums = 0 }, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID - }, { /* class_tid: 1, , table: fkb_select.em_gen_template_alloc */ .description = "fkb_select.em_gen_template_alloc", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -1095,7 +1281,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 402, + .cond_start_idx = 942, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -1103,7 +1289,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 141, + .result_start_idx = 158, .result_bit_size = 106, .result_num_fields = 106 }, @@ -1117,14 +1303,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 403, + .cond_start_idx = 943, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 247, + .result_start_idx = 264, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1136,7 +1322,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 403, + .cond_start_idx = 943, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1144,7 +1330,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 48, + .func_opr1 = 128, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, { /* class_tid: 1, , table: profile_tcam.gen_template */ @@ -1156,7 +1342,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 419, + .cond_start_idx = 959, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -1168,14 +1354,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 97, + .key_start_idx = 175, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, - .result_start_idx = 247, + .result_start_idx = 264, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 25, + .ident_start_idx = 26, .ident_nums = 1 }, { /* class_tid: 1, , table: wm_key_recipe.0 */ @@ -1188,18 +1374,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 664, + .cond_start_idx = 1206, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 140, + .key_start_idx = 218, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, - .result_start_idx = 255, + .result_start_idx = 272, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1213,17 +1399,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1182, + .cond_start_idx = 1727, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 173, + .key_start_idx = 251, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, - .result_start_idx = 255, + .result_start_idx = 272, .result_bit_size = 106, .result_num_fields = 8 }, @@ -1237,17 +1423,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1184, + .cond_start_idx = 1729, .cond_nums = 3 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 176, + .key_start_idx = 254, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, - .ident_start_idx = 26, + .ident_start_idx = 27, .ident_nums = 1 }, { /* class_tid: 1, , table: control.em_flow_conflict_cache_miss */ @@ -1258,7 +1444,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1189, + .cond_start_idx = 1734, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1273,14 +1459,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1190, + .cond_start_idx = 1735, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 263, + .result_start_idx = 280, .result_bit_size = 106, .result_num_fields = 106 }, @@ -1294,17 +1480,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1437, + .cond_start_idx = 1982, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 180, + .key_start_idx = 258, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, - .result_start_idx = 369, + .result_start_idx = 386, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1318,17 +1504,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1931, + .cond_start_idx = 2476, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 213, + .key_start_idx = 291, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, - .result_start_idx = 369, + .result_start_idx = 386, .result_bit_size = 96, .result_num_fields = 2 }, @@ -1340,7 +1526,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1933, + .cond_start_idx = 2478, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1360,7 +1546,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1935, + .cond_start_idx = 2480, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1374,7 +1560,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1937, + .cond_start_idx = 2482, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -1382,7 +1568,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .result_start_idx = 371, + .result_start_idx = 388, .result_bit_size = 0, .result_num_fields = 6 }, @@ -1394,7 +1580,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1941, + .cond_start_idx = 2486, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1408,7 +1594,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1942, + .cond_start_idx = 2487, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -1419,7 +1605,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 377, + .result_start_idx = 394, .result_bit_size = 38, .result_num_fields = 5 }, @@ -1431,7 +1617,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1942, + .cond_start_idx = 2487, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1444,7 +1630,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1943, + .cond_start_idx = 2488, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1460,10 +1646,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { - .cond_true_goto = -27, + .cond_true_goto = -29, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1943, + .cond_start_idx = 2488, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1484,17 +1670,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1943, + .cond_start_idx = 2488, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 217, + .key_start_idx = 295, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 27, + .ident_start_idx = 28, .ident_nums = 2 }, { /* class_tid: 2, , table: control.l2_only_check */ @@ -1547,7 +1733,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1965, + .cond_start_idx = 2510, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1562,17 +1748,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1967, + .cond_start_idx = 2512, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 218, + .key_start_idx = 296, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .ident_start_idx = 29, + .ident_start_idx = 30, .ident_nums = 1 }, { /* class_tid: 2, , table: control.multi_flow_cache_check */ @@ -1583,7 +1769,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1995, + .cond_start_idx = 2540, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1599,14 +1785,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1996, + .cond_start_idx = 2541, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 382, + .result_start_idx = 399, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1618,7 +1804,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1996, + .cond_start_idx = 2541, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1639,7 +1825,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1996, + .cond_start_idx = 2541, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1660,17 +1846,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1996, + .cond_start_idx = 2541, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 227, + .key_start_idx = 305, .blob_key_bit_size = 447, .key_bit_size = 447, .key_num_fields = 9, - .result_start_idx = 382, + .result_start_idx = 399, .result_bit_size = 48, .result_num_fields = 2 }, @@ -1682,7 +1868,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2024, + .cond_start_idx = 2569, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1701,7 +1887,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2024, + .cond_start_idx = 2569, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1709,7 +1895,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 316, + .func_opr1 = 398, .func_dst_opr = BNXT_ULP_RF_IDX_TERM_FLOW } }, { /* class_tid: 2, , table: control.group_id_check */ @@ -1720,7 +1906,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2032, + .cond_start_idx = 2577, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -1735,17 +1921,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2033, + .cond_start_idx = 2578, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 236, + .key_start_idx = 314, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .ident_start_idx = 30, + .ident_start_idx = 31, .ident_nums = 1 }, { /* class_tid: 2, , table: control.flow_chain_group_id */ @@ -1756,7 +1942,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2033, + .cond_start_idx = 2578, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -1772,14 +1958,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2034, + .cond_start_idx = 2579, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 384, + .result_start_idx = 401, .result_bit_size = 0, .result_num_fields = 0 }, @@ -1791,7 +1977,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2034, + .cond_start_idx = 2579, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -1814,17 +2000,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2034, + .cond_start_idx = 2579, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 237, + .key_start_idx = 315, .blob_key_bit_size = 32, .key_bit_size = 32, .key_num_fields = 1, - .result_start_idx = 384, + .result_start_idx = 401, .result_bit_size = 48, .result_num_fields = 2 }, @@ -1838,17 +2024,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2034, + .cond_start_idx = 2579, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 238, + .key_start_idx = 316, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, - .ident_start_idx = 31, + .ident_start_idx = 32, .ident_nums = 7 }, { /* class_tid: 2, , table: control.proto_header_cache_miss */ @@ -1857,12 +2043,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 13, + .cond_false_goto = 15, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2036, + .cond_start_idx = 2581, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID }, { /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ .description = "hdr_overlap_cache.overlap_check", @@ -1874,20 +2061,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2037, + .cond_start_idx = 2582, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 241, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 319, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 243, + .partial_key_start_idx = 321, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .ident_start_idx = 38, + .ident_start_idx = 39, .ident_nums = 2 }, { /* class_tid: 2, , table: control.overlap_miss */ @@ -1896,13 +2083,57 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_false_goto = 7, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2039, + .cond_start_idx = 2584, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID + .fdb_operand = BNXT_ULP_RF_IDX_RID_1 + }, + { /* class_tid: 2, , table: group_miss_action_cache.rd */ + .description = "group_miss_action_cache.rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 2, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2585, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 322, + .blob_key_bit_size = 43, + .key_bit_size = 43, + .key_num_fields = 2, + .ident_start_idx = 41, + .ident_nums = 1 + }, + { /* class_tid: 2, , table: control.egr_catch_all */ + .description = "control.egr_catch_all", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 2587, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_oper_size = 8, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 0, + .func_dst_opr = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET } }, { /* class_tid: 2, , table: profile_tcam.allocate_wc_profile */ .description = "profile_tcam.allocate_wc_profile", @@ -1913,17 +2144,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2040, + .cond_start_idx = 2587, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .ident_start_idx = 40, + .ident_start_idx = 42, .ident_nums = 1 }, { /* class_tid: 2, , table: fkb_select.wc_gen_template */ @@ -1935,18 +2166,47 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2040, + .cond_start_idx = 2587, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .fdb_operand = BNXT_ULP_RF_IDX_RID_1, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 386, + .result_start_idx = 403, .result_bit_size = 106, .result_num_fields = 106 }, + { /* class_tid: 2, , table: wm.egress_generic_template_grp_catch_all */ + .description = "wm.egress_generic_template_grp_catch_all", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2846, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 1, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 324, + .blob_key_bit_size = 0, + .key_bit_size = 0, + .key_num_fields = 33, + .result_start_idx = 509, + .result_bit_size = 38, + .result_num_fields = 5 + }, { /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ .description = "hdr_overlap_cache.overlap_wr", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, @@ -1957,37 +2217,24 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2298, + .cond_start_idx = 3373, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 244, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .key_start_idx = 357, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 2, - .partial_key_start_idx = 246, + .partial_key_start_idx = 359, .partial_key_num_fields = 1, .partial_key_bit_size = 64, - .result_start_idx = 492, + .result_start_idx = 514, .result_bit_size = 48, .result_num_fields = 3 }, - { /* class_tid: 2, , table: control.proto_header_rid_alloc */ - .description = "control.proto_header_rid_alloc", - .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, - .direction = TF_DIR_TX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2300, - .cond_nums = 0 }, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID - }, { /* class_tid: 2, , table: fkb_select.em_gen_template_alloc */ .description = "fkb_select.em_gen_template_alloc", .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -1997,7 +2244,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 2300, + .cond_start_idx = 3375, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, @@ -2005,7 +2252,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 495, + .result_start_idx = 517, .result_bit_size = 106, .result_num_fields = 106 }, @@ -2019,14 +2266,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2301, + .cond_start_idx = 3376, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 601, + .result_start_idx = 623, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2038,7 +2285,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2301, + .cond_start_idx = 3376, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2046,7 +2293,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .func_opc = BNXT_ULP_FUNC_OPC_COND_LIST, .func_oper_size = 8, .func_src1 = BNXT_ULP_FUNC_SRC_KEY_EXT_LIST, - .func_opr1 = 359, + .func_opr1 = 523, .func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY } }, { /* class_tid: 2, , table: profile_tcam.gen_template */ @@ -2058,7 +2305,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2317, + .cond_start_idx = 3392, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -2070,14 +2317,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 247, + .key_start_idx = 360, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, - .result_start_idx = 601, + .result_start_idx = 623, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 41, + .ident_start_idx = 43, .ident_nums = 1 }, { /* class_tid: 2, , table: wm_key_recipe.0 */ @@ -2090,18 +2337,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2560, + .cond_start_idx = 3636, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .key_start_idx = 290, + .key_start_idx = 403, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, - .result_start_idx = 609, + .result_start_idx = 631, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2115,17 +2362,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3084, + .cond_start_idx = 4163, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 323, + .key_start_idx = 436, .blob_key_bit_size = 75, .key_bit_size = 75, .key_num_fields = 3, - .result_start_idx = 609, + .result_start_idx = 631, .result_bit_size = 106, .result_num_fields = 8 }, @@ -2139,17 +2386,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 9, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3086, + .cond_start_idx = 4165, .cond_nums = 3 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 326, + .key_start_idx = 439, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, - .ident_start_idx = 42, + .ident_start_idx = 44, .ident_nums = 1 }, { /* class_tid: 2, , table: control.em_flow_conflict_cache_miss */ @@ -2160,7 +2407,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3091, + .cond_start_idx = 4170, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2175,14 +2422,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3092, + .cond_start_idx = 4171, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 617, + .result_start_idx = 639, .result_bit_size = 106, .result_num_fields = 106 }, @@ -2196,17 +2443,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3336, + .cond_start_idx = 4415, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_KEY_RECIPE_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 330, + .key_start_idx = 443, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 33, - .result_start_idx = 723, + .result_start_idx = 745, .result_bit_size = 0, .result_num_fields = 0 }, @@ -2220,17 +2467,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 3, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3824, + .cond_start_idx = 4903, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 363, + .key_start_idx = 476, .blob_key_bit_size = 77, .key_bit_size = 77, .key_num_fields = 4, - .result_start_idx = 723, + .result_start_idx = 745, .result_bit_size = 96, .result_num_fields = 2 }, @@ -2242,7 +2489,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 4, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3826, + .cond_start_idx = 4905, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2262,7 +2509,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3828, + .cond_start_idx = 4907, .cond_nums = 2 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2276,7 +2523,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3830, + .cond_start_idx = 4909, .cond_nums = 4 }, .tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL, @@ -2284,7 +2531,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .result_start_idx = 725, + .result_start_idx = 747, .result_bit_size = 0, .result_num_fields = 6 }, @@ -2296,7 +2543,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 2, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3834, + .cond_start_idx = 4913, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2310,7 +2557,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3835, + .cond_start_idx = 4914, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0, @@ -2321,7 +2568,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 731, + .result_start_idx = 753, .result_bit_size = 38, .result_num_fields = 5 }, @@ -2333,7 +2580,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3835, + .cond_start_idx = 4914, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP @@ -2346,7 +2593,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3836, + .cond_start_idx = 4915, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2362,10 +2609,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = -26, + .cond_true_goto = -28, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3836, + .cond_start_idx = 4915, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, @@ -2387,7 +2634,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3836, + .cond_start_idx = 4915, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR, @@ -2395,7 +2642,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 736, + .result_start_idx = 758, .result_bit_size = 128, .result_num_fields = 17 }, @@ -2409,111 +2656,78 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3836, + .cond_start_idx = 4915, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 367, + .key_start_idx = 480, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .result_start_idx = 753, + .result_start_idx = 775, .result_bit_size = 179, .result_num_fields = 8 }, - { /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ - .description = "l2_cntxt_tcam_cache.ing_rd", + { /* class_tid: 3, , table: prof_func_cache.ing_rd */ + .description = "prof_func_cache.ing_rd", .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE, .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3836, + .cond_start_idx = 4915, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 368, - .blob_key_bit_size = 11, - .key_bit_size = 11, + .key_start_idx = 481, + .blob_key_bit_size = 8, + .key_bit_size = 8, .key_num_fields = 1, - .ident_start_idx = 43, - .ident_nums = 1 + .ident_start_idx = 45, + .ident_nums = 2 }, - { /* class_tid: 3, , table: control.ing_0 */ - .description = "control.ing_0", + { /* class_tid: 3, , table: control.prof_func_miss */ + .description = "control.prof_func_miss", .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3836, + .cond_start_idx = 4915, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID }, - { /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */ - .description = "l2_cntxt_tcam.ing_0", + { /* class_tid: 3, , table: l2_cntxt_tcam.alloc_prof_func */ + .description = "l2_cntxt_tcam.alloc_prof_func", .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, - .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, + .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, - .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 369, - .blob_key_bit_size = 213, - .key_bit_size = 213, - .key_num_fields = 21, - .result_start_idx = 761, - .result_bit_size = 43, - .result_num_fields = 6, - .ident_start_idx = 44, - .ident_nums = 2 - }, - { /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ - .description = "l2_cntxt_tcam_cache.ing_wr", - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, - .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 390, - .blob_key_bit_size = 11, - .key_bit_size = 11, - .key_num_fields = 1, - .result_start_idx = 767, - .result_bit_size = 70, - .result_num_fields = 5 + .ident_start_idx = 47, + .ident_nums = 1 }, { /* class_tid: 3, , table: profile_tcam.prof_func_catch_all */ .description = "profile_tcam.prof_func_catch_all", @@ -2524,27 +2738,52 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .pri_opcode = BNXT_ULP_PRI_OPC_CONST, - .pri_operand = 5, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST, + .pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 391, + .key_start_idx = 482, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, - .result_start_idx = 772, + .result_start_idx = 783, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 46, + .ident_start_idx = 48, .ident_nums = 0 }, + { /* class_tid: 3, , table: prof_func_cache.ing_wr */ + .description = "prof_func_cache.ing_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4916, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 525, + .blob_key_bit_size = 8, + .key_bit_size = 8, + .key_num_fields = 1, + .result_start_idx = 791, + .result_bit_size = 39, + .result_num_fields = 2 + }, { /* class_tid: 3, , table: parif_def_arec_ptr.ing_0 */ .description = "parif_def_arec_ptr.ing_0", .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, @@ -2554,13 +2793,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .result_start_idx = 780, + .result_start_idx = 793, .result_bit_size = 32, .result_num_fields = 1 }, @@ -2573,13 +2812,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .result_start_idx = 781, + .result_start_idx = 794, .result_bit_size = 32, .result_num_fields = 1 }, @@ -2594,7 +2833,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -2602,7 +2841,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 782, + .result_start_idx = 795, .result_bit_size = 128, .result_num_fields = 17, .encap_num_fields = 0 @@ -2617,17 +2856,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 434, + .key_start_idx = 526, .blob_key_bit_size = 10, .key_bit_size = 10, .key_num_fields = 1, - .result_start_idx = 799, + .result_start_idx = 812, .result_bit_size = 179, .result_num_fields = 8 }, @@ -2640,13 +2879,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 807, + .result_start_idx = 820, .result_bit_size = 64, .result_num_fields = 8 }, @@ -2660,17 +2899,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 435, + .key_start_idx = 527, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 46, + .ident_start_idx = 48, .ident_nums = 0 }, { /* class_tid: 3, , table: control.non_vfr_egr_2 */ @@ -2681,7 +2920,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3837, + .cond_start_idx = 4916, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2696,7 +2935,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3838, + .cond_start_idx = 4917, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -2706,14 +2945,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 436, + .key_start_idx = 528, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, - .result_start_idx = 815, + .result_start_idx = 828, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 46, + .ident_start_idx = 48, .ident_nums = 2 }, { /* class_tid: 3, , table: profile_tcam.non_vfr_prof_func_egr_catch_all */ @@ -2725,25 +2964,25 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3838, + .cond_start_idx = 4917, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .pri_opcode = BNXT_ULP_PRI_OPC_CONST, - .pri_operand = 5, + .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST, + .pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 457, + .key_start_idx = 549, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, - .result_start_idx = 821, + .result_start_idx = 834, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 48, + .ident_start_idx = 50, .ident_nums = 0 }, { /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ @@ -2756,18 +2995,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3838, + .cond_start_idx = 4917, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 500, + .key_start_idx = 592, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 829, - .result_bit_size = 70, + .result_start_idx = 842, + .result_bit_size = 69, .result_num_fields = 5 }, { /* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_rd */ @@ -2786,11 +3025,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 501, + .key_start_idx = 593, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .ident_start_idx = 48, + .ident_start_idx = 50, .ident_nums = 2 }, { /* class_tid: 3, , table: control.default_custom_tunnel */ @@ -2801,7 +3040,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3840, + .cond_start_idx = 4919, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2817,12 +3056,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3841, + .cond_start_idx = 4920, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 834, + .result_start_idx = 847, .result_bit_size = 16, .result_num_fields = 1 }, @@ -2836,12 +3075,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3842, + .cond_start_idx = 4921, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 835, + .result_start_idx = 848, .result_bit_size = 16, .result_num_fields = 1 }, @@ -2855,17 +3094,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3843, + .cond_start_idx = 4922, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 502, + .key_start_idx = 594, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .result_start_idx = 836, + .result_start_idx = 849, .result_bit_size = 80, .result_num_fields = 3 }, @@ -2880,17 +3119,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3843, + .cond_start_idx = 4922, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 503, + .key_start_idx = 595, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, - .ident_start_idx = 50, + .ident_start_idx = 52, .ident_nums = 0 }, { /* class_tid: 4, , table: control.prof_tcam_cache.vfr_glb_act_rec_rd.0 */ @@ -2901,7 +3140,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3843, + .cond_start_idx = 4922, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -2918,14 +3157,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3844, + .cond_start_idx = 4923, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_MODIFY_PTR, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 839, + .result_start_idx = 852, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -2941,7 +3180,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3844, + .cond_start_idx = 4923, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, @@ -2949,7 +3188,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 859, + .result_start_idx = 872, .result_bit_size = 128, .result_num_fields = 17, .encap_num_fields = 0 @@ -2963,14 +3202,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3844, + .cond_start_idx = 4923, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 876, + .result_start_idx = 889, .result_bit_size = 32, .result_num_fields = 1 }, @@ -2983,14 +3222,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3844, + .cond_start_idx = 4923, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 877, + .result_start_idx = 890, .result_bit_size = 32, .result_num_fields = 1 }, @@ -3005,17 +3244,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3844, + .cond_start_idx = 4923, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 506, + .key_start_idx = 598, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, - .result_start_idx = 878, + .result_start_idx = 891, .result_bit_size = 138, .result_num_fields = 7 }, @@ -3029,17 +3268,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3844, + .cond_start_idx = 4923, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 509, + .key_start_idx = 601, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 50, + .ident_start_idx = 52, .ident_nums = 0 }, { /* class_tid: 4, , table: control.vf_2_vfr.0 */ @@ -3050,7 +3289,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 5, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3844, + .cond_start_idx = 4923, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3066,17 +3305,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3845, + .cond_start_idx = 4924, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .key_start_idx = 510, + .key_start_idx = 602, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 50, + .ident_start_idx = 52, .ident_nums = 1 }, { /* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */ @@ -3088,7 +3327,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3845, + .cond_start_idx = 4924, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3098,14 +3337,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 511, + .key_start_idx = 603, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, - .result_start_idx = 885, + .result_start_idx = 898, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 51, + .ident_start_idx = 53, .ident_nums = 1 }, { /* class_tid: 4, , table: profile_tcam.prof_func_catch_all */ @@ -3117,26 +3356,26 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3845, + .cond_start_idx = 4924, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .pri_opcode = BNXT_ULP_PRI_OPC_CONST, - .pri_operand = 5, + .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST, + .pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_CATCHALL, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 532, + .key_start_idx = 624, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, - .result_start_idx = 891, + .result_start_idx = 904, .result_bit_size = 33, .result_num_fields = 8, - .ident_start_idx = 52, + .ident_start_idx = 54, .ident_nums = 0 }, { /* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_egr_wr */ @@ -3149,18 +3388,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3845, + .cond_start_idx = 4924, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 575, + .key_start_idx = 667, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 899, - .result_bit_size = 70, + .result_start_idx = 912, + .result_bit_size = 69, .result_num_fields = 5 }, { /* class_tid: 4, , table: int_full_act_record.vf_2_vfr_ing */ @@ -3174,7 +3413,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3845, + .cond_start_idx = 4924, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3182,7 +3421,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 904, + .result_start_idx = 917, .result_bit_size = 128, .result_num_fields = 17 }, @@ -3197,17 +3436,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3845, + .cond_start_idx = 4924, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 576, + .key_start_idx = 668, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, - .ident_start_idx = 52, + .ident_start_idx = 54, .ident_nums = 0 }, { /* class_tid: 4, , table: control.prof_tcam_cache.vfr.0 */ @@ -3218,7 +3457,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 10, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3845, + .cond_start_idx = 4924, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3235,7 +3474,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_DROP_AREC_PTR, @@ -3243,7 +3482,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 921, + .result_start_idx = 934, .result_bit_size = 128, .result_num_fields = 17, .encap_num_fields = 0 @@ -3257,7 +3496,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3269,14 +3508,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 579, + .key_start_idx = 671, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, - .result_start_idx = 938, + .result_start_idx = 951, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 52, + .ident_start_idx = 54, .ident_nums = 0 }, { /* class_tid: 4, , table: l2_cntxt_tcam.vfr_2_vf_ing.0 */ @@ -3288,7 +3527,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -3300,14 +3539,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 600, + .key_start_idx = 692, .blob_key_bit_size = 213, .key_bit_size = 213, .key_num_fields = 21, - .result_start_idx = 944, + .result_start_idx = 957, .result_bit_size = 43, .result_num_fields = 6, - .ident_start_idx = 52, + .ident_start_idx = 54, .ident_nums = 0 }, { /* class_tid: 4, , table: fkb_select.vfr_em */ @@ -3319,14 +3558,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_0, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 950, + .result_start_idx = 963, .result_bit_size = 106, .result_num_fields = 106 }, @@ -3339,14 +3578,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_KEY_ID_1, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1056, + .result_start_idx = 1069, .result_bit_size = 106, .result_num_fields = 106 }, @@ -3359,7 +3598,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3371,11 +3610,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 621, + .key_start_idx = 713, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, - .result_start_idx = 1162, + .result_start_idx = 1175, .result_bit_size = 33, .result_num_fields = 8 }, @@ -3388,7 +3627,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -3400,11 +3639,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .track_type = CFA_TRACK_TYPE_SID, - .key_start_idx = 664, + .key_start_idx = 756, .blob_key_bit_size = 94, .key_bit_size = 94, .key_num_fields = 43, - .result_start_idx = 1170, + .result_start_idx = 1183, .result_bit_size = 33, .result_num_fields = 8 }, @@ -3419,17 +3658,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 707, + .key_start_idx = 799, .blob_key_bit_size = 15, .key_bit_size = 15, .key_num_fields = 3, - .result_start_idx = 1178, + .result_start_idx = 1191, .result_bit_size = 138, .result_num_fields = 7 }, @@ -3442,13 +3681,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 1185, + .result_start_idx = 1198, .result_bit_size = 64, .result_num_fields = 8 }, @@ -3461,16 +3700,16 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, - .key_start_idx = 710, + .key_start_idx = 802, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 3, - .result_start_idx = 1193, + .result_start_idx = 1206, .result_bit_size = 0, .result_num_fields = 6 }, @@ -3485,17 +3724,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 713, + .key_start_idx = 805, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .ident_start_idx = 52, + .ident_start_idx = 54, .ident_nums = 0 }, { /* class_tid: 4, , table: control.0 */ @@ -3506,7 +3745,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3846, + .cond_start_idx = 4925, .cond_nums = 1 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, @@ -3521,14 +3760,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3847, + .cond_start_idx = 4926, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_SVIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, - .result_start_idx = 1199, + .result_start_idx = 1212, .result_bit_size = 64, .result_num_fields = 8 }, @@ -3542,18 +3781,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3847, + .cond_start_idx = 4926, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .key_start_idx = 714, + .key_start_idx = 806, .blob_key_bit_size = 11, .key_bit_size = 11, .key_num_fields = 1, - .result_start_idx = 1207, - .result_bit_size = 70, + .result_start_idx = 1220, + .result_bit_size = 69, .result_num_fields = 5 }, { /* class_tid: 4, , table: ilt_tbl.vf_egr */ @@ -3565,13 +3804,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3847, + .cond_start_idx = 4926, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_SVIF, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .result_start_idx = 1212, + .result_start_idx = 1225, .result_bit_size = 64, .result_num_fields = 8 }, @@ -3586,14 +3825,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3847, + .cond_start_idx = 4926, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1220, + .result_start_idx = 1233, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 20 @@ -3609,7 +3848,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3847, + .cond_start_idx = 4926, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3617,7 +3856,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1240, + .result_start_idx = 1253, .result_bit_size = 128, .result_num_fields = 17 }, @@ -3632,7 +3871,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3847, + .cond_start_idx = 4926, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, @@ -3640,7 +3879,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .track_type = CFA_TRACK_TYPE_SID, - .result_start_idx = 1257, + .result_start_idx = 1270, .result_bit_size = 128, .result_num_fields = 17 }, @@ -3653,154 +3892,848 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 3847, + .cond_start_idx = 4926, .cond_nums = 0 }, .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .key_start_idx = 715, + .key_start_idx = 807, .blob_key_bit_size = 0, .key_bit_size = 0, .key_num_fields = 2, - .result_start_idx = 1274, + .result_start_idx = 1287, .result_bit_size = 0, .result_num_fields = 6 - } -}; - -struct bnxt_ulp_mapper_cond_list_info ulp_thor_class_cond_oper_list[] = { - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 0, - .cond_nums = 3 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 3, - .cond_nums = 2 + { /* class_tid: 5, , table: port_table.ing_rd */ + .description = "port_table.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4926, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 809, + .blob_key_bit_size = 10, + .key_bit_size = 10, + .key_num_fields = 1, + .ident_start_idx = 54, + .ident_nums = 1 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 5, - .cond_nums = 3 + { /* class_tid: 5, , table: prof_func_cache.ing_rd */ + .description = "prof_func_cache.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROF_FUNC_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4926, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 810, + .blob_key_bit_size = 8, + .key_bit_size = 8, + .key_num_fields = 1, + .ident_start_idx = 55, + .ident_nums = 1 }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 17, - .cond_nums = 2 + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ + .description = "l2_cntxt_tcam_cache.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4926, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 811, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 56, + .ident_nums = 1 }, - /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/ - { + { /* class_tid: 5, , table: control.ing_0 */ + .description = "control.ing_0", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 19, - .cond_nums = 2 + .cond_start_idx = 4926, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID }, - /* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/ - { + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ + .description = "l2_cntxt_tcam_cache.ing_rd_sock", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 35, - .cond_nums = 3 + .cond_start_idx = 4927, + .cond_nums = 1 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD, + .func_opr1 = BNXT_ULP_CF_IDX_PHY_PORT_SVIF, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_CC }, + .key_start_idx = 812, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 57, + .ident_nums = 2 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 114, - .cond_nums = 5 + { /* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */ + .description = "l2_cntxt_tcam.ing_0", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4928, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .pri_opcode = BNXT_ULP_PRI_OPC_CONST, + .pri_operand = 0, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 813, + .blob_key_bit_size = 213, + .key_bit_size = 213, + .key_num_fields = 21, + .result_start_idx = 1293, + .result_bit_size = 43, + .result_num_fields = 6, + .ident_start_idx = 59, + .ident_nums = 1 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 119, - .cond_nums = 5 + { /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ + .description = "l2_cntxt_tcam_cache.ing_wr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4932, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 834, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .result_start_idx = 1299, + .result_bit_size = 69, + .result_num_fields = 5 }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 124, - .cond_nums = 4 + { /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ + .description = "l2_cntxt_tcam_cache.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4936, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP, + .key_start_idx = 835, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 60, + .ident_nums = 1 }, - /* cond_execute: class_tid: 2, control.l2_only_check:1943*/ - { + { /* class_tid: 6, , table: control.l2_cache_check */ + .description = "control.l2_cache_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1943, - .cond_nums = 5 + .cond_start_idx = 4936, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP }, - /* cond_execute: class_tid: 2, control.l2_only_check:1943*/ - { + { /* class_tid: 6, , table: control.l2_cache_cnt_check */ + .description = "control.l2_cache_cnt_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .false_message = "Promisc mode cannot be disabled as there are flows that is using the promisc rule.", + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1023, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1948, - .cond_nums = 5 + .cond_start_idx = 4937, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_REF_CNT, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 1, + .func_dst_opr = BNXT_ULP_RF_IDX_CC } }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:1953*/ - { + { /* class_tid: 7, , table: control.direction_check */ + .description = "control.direction_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 11, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1953, - .cond_nums = 5 + .cond_start_idx = 4938, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD, + .func_opr1 = BNXT_ULP_CF_IDX_DIRECTION, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = ULP_THOR_SYM_DIR_INGRESS, + .func_dst_opr = BNXT_ULP_RF_IDX_CC } }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:1953*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1958, - .cond_nums = 5 + { /* class_tid: 7, , table: flow_chain_cache.group_check */ + .description = "flow_chain_cache.group_check", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4939, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 836, + .blob_key_bit_size = 32, + .key_bit_size = 32, + .key_num_fields = 1, + .ident_start_idx = 61, + .ident_nums = 1 }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:1963*/ - { + { /* class_tid: 7, , table: control.flow_chain_group_id */ + .description = "control.flow_chain_group_id", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 4, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 1963, - .cond_nums = 2 - }, - /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:3838*/ - { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 3838, - .cond_nums = 2 - } -}; - -struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_F1 + .cond_start_idx = 4939, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_F2 + { /* class_tid: 7, , table: jump_index_table.alloc */ + .description = "jump_index_table.alloc", + .resource_func = BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4940, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .result_start_idx = 1304, + .result_bit_size = 0, + .result_num_fields = 0 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + { /* class_tid: 7, , table: control.metadata_cal */ + .description = "control.metadata_cal", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4940, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_BIT_OR, + .func_oper_size = 16, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_JUMP_META_IDX, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = ULP_THOR_SYM_CHAIN_META_VAL, + .func_dst_opr = BNXT_ULP_RF_IDX_JUMP_META } }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + { /* class_tid: 7, , table: flow_chain_cache.write */ + .description = "flow_chain_cache.write", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4940, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 837, + .blob_key_bit_size = 32, + .key_bit_size = 32, + .key_num_fields = 1, + .result_start_idx = 1304, + .result_bit_size = 48, + .result_num_fields = 2 }, - /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + { /* class_tid: 7, , table: group_miss_action_cache.rd_ing */ + .description = "group_miss_action_cache.rd_ing", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4940, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 838, + .blob_key_bit_size = 43, + .key_bit_size = 43, + .key_num_fields = 2, + .ident_start_idx = 62, + .ident_nums = 0 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + { /* class_tid: 7, , table: control.group_miss_action */ + .description = "control.group_miss_action", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4940, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + { /* class_tid: 7, , table: group_miss_action_cache.write */ + .description = "group_miss_action_cache.write", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4941, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 840, + .blob_key_bit_size = 43, + .key_bit_size = 43, + .key_num_fields = 2, + .result_start_idx = 1306, + .result_bit_size = 48, + .result_num_fields = 2 }, - /* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:8*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + { /* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd */ + .description = "l2_cntxt_tcam_cache.ing_rd", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4941, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 842, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 62, + .ident_nums = 2 + }, + { /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all */ + .description = "profile_tcam_bypass.prof_func_group_catch_all", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, + .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4941, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD, + .func_opr1 = BNXT_ULP_CF_IDX_GROUP_ID, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 0, + .func_dst_opr = BNXT_ULP_RF_IDX_CC }, + .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST, + .pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_GRPCATCHALL, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 843, + .blob_key_bit_size = 94, + .key_bit_size = 94, + .key_num_fields = 43, + .result_start_idx = 1308, + .result_bit_size = 33, + .result_num_fields = 4, + .ident_start_idx = 64, + .ident_nums = 0 + }, + { /* class_tid: 7, , table: flow_chain_cache.group_check_egr */ + .description = "flow_chain_cache.group_check_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4942, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 886, + .blob_key_bit_size = 32, + .key_bit_size = 32, + .key_num_fields = 1, + .ident_start_idx = 64, + .ident_nums = 1 + }, + { /* class_tid: 7, , table: control.flow_chain_group_id_egr */ + .description = "control.flow_chain_group_id_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 4, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4942, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 7, , table: jump_index_table.alloc_egr */ + .description = "jump_index_table.alloc_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4943, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC, + .tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID, + .result_start_idx = 1312, + .result_bit_size = 0, + .result_num_fields = 0 + }, + { /* class_tid: 7, , table: control.metadata_cal_egr */ + .description = "control.metadata_cal_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4943, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_BIT_OR, + .func_oper_size = 16, + .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, + .func_opr1 = BNXT_ULP_RF_IDX_JUMP_META_IDX, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = ULP_THOR_SYM_CHAIN_META_VAL, + .func_dst_opr = BNXT_ULP_RF_IDX_JUMP_META } + }, + { /* class_tid: 7, , table: flow_chain_cache.write_egr */ + .description = "flow_chain_cache.write_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4943, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 887, + .blob_key_bit_size = 32, + .key_bit_size = 32, + .key_num_fields = 1, + .result_start_idx = 1312, + .result_bit_size = 48, + .result_num_fields = 2 + }, + { /* class_tid: 7, , table: group_miss_action_cache.rd_egr */ + .description = "group_miss_action_cache.rd_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4943, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 888, + .blob_key_bit_size = 43, + .key_bit_size = 43, + .key_num_fields = 2, + .ident_start_idx = 65, + .ident_nums = 0 + }, + { /* class_tid: 7, , table: control.group_miss_action_egr */ + .description = "control.group_miss_action_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 4943, + .cond_nums = 1 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, + .fdb_operand = BNXT_ULP_RF_IDX_RID + }, + { /* class_tid: 7, , table: group_miss_action_cache.write_egr */ + .description = "group_miss_action_cache.write_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GROUP_MISS_ACTION_CACHE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4944, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 890, + .blob_key_bit_size = 43, + .key_bit_size = 43, + .key_num_fields = 2, + .result_start_idx = 1314, + .result_bit_size = 48, + .result_num_fields = 2 + }, + { /* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd_egr */ + .description = "l2_cntxt_tcam_cache.ing_rd_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4944, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, + .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .key_start_idx = 892, + .blob_key_bit_size = 11, + .key_bit_size = 11, + .key_num_fields = 1, + .ident_start_idx = 65, + .ident_nums = 2 + }, + { /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all_egr */ + .description = "profile_tcam_bypass.prof_func_group_catch_all_egr", + .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, + .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 0, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 4944, + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .func_info = { + .func_opc = BNXT_ULP_FUNC_OPC_EQ, + .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD, + .func_opr1 = BNXT_ULP_CF_IDX_GROUP_ID, + .func_src2 = BNXT_ULP_FUNC_SRC_CONST, + .func_opr2 = 0, + .func_dst_opr = BNXT_ULP_RF_IDX_CC }, + .pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST, + .pri_operand = ULP_THOR_SYM_PROF_TCAM_PRI_GRPCATCHALL, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, + .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, + .track_type = CFA_TRACK_TYPE_SID, + .key_start_idx = 893, + .blob_key_bit_size = 94, + .key_bit_size = 94, + .key_num_fields = 43, + .result_start_idx = 1316, + .result_bit_size = 33, + .result_num_fields = 4, + .ident_start_idx = 67, + .ident_nums = 0 + } +}; + +struct bnxt_ulp_mapper_cond_list_info ulp_thor_class_cond_oper_list[] = { + /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 0, + .cond_nums = 3 + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 3, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 5, + .cond_nums = 3 + }, + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 17, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 19, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 1, control.check_tunnel_recycle:37*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 37, + .cond_nums = 3 + }, + /* cond_execute: class_tid: 1, control.l2_only_check:130*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 130, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 1, control.l2_only_check:130*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 135, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:140*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 140, + .cond_nums = 4 + }, + /* cond_execute: class_tid: 2, control.l2_only_check:2488*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2488, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.l2_only_check:2488*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2493, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2498*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2498, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2498*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2503, + .cond_nums = 5 + }, + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2508*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 2508, + .cond_nums = 2 + }, + /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4917*/ + { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_start_idx = 4917, + .cond_nums = 2 + } +}; + +struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { + /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_F1 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_F2 + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + /* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + /* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:8*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, @@ -3921,7 +4854,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_PARENT_DMAC }, - /* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam_cache.rd:35*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_O_DMAC + }, + /* cond_execute: class_tid: 1, control.prof_func_miss:36*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 1, control.check_tunnel_recycle:37*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -3934,7 +4877,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 }, - /* cond_execute: class_tid: 1, control.multi_tunnel_check:38*/ + /* cond_execute: class_tid: 1, control.multi_tunnel_check:40*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY @@ -3943,7 +4886,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:40*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:42*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -3952,7 +4895,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:42*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:44*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -3961,7 +4904,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:44*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:46*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -3970,7 +4913,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:46*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:48*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -3979,7 +4922,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:48*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:50*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -3988,7 +4931,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:50*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:52*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -3997,7 +4940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:52*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:54*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4006,7 +4949,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:54*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:56*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4015,7 +4958,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:56*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:58*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4024,7 +4967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:58*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:60*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4033,7 +4976,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:60*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:62*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4042,7 +4985,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:62*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.rd:64*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4051,12 +4994,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 1, control.multi_flow_cache_check:64*/ + /* cond_execute: class_tid: 1, control.multi_flow_cache_check:66*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:65*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:67*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4065,7 +5008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:67*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:69*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4074,7 +5017,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:69*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:71*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4083,7 +5026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:71*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:73*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH @@ -4092,7 +5035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:73*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:75*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4101,7 +5044,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:75*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:77*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4110,7 +5053,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:77*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:79*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4119,7 +5062,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:79*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:81*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 @@ -4128,7 +5071,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:81*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:83*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4137,7 +5080,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:83*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:85*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4146,7 +5089,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:85*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:87*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4155,7 +5098,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:87*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:89*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -4164,7 +5107,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:89*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:91*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4173,7 +5116,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:91*/ + /* field_cond: class_tid: 1, multi_flow_tunnel_cache.wr:93*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -4182,17 +5125,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* cond_execute: class_tid: 1, control.group_id_check:93*/ + /* cond_execute: class_tid: 1, control.group_id_check:95*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* cond_execute: class_tid: 1, control.flow_chain_group_id:94*/ + /* cond_execute: class_tid: 1, control.flow_chain_group_id:96*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, flow_chain_l2_cntxt.chaining_check:95*/ + /* cond_execute: class_tid: 1, flow_chain_l2_cntxt.chaining_check:97*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4201,22 +5144,57 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.flow_chain_group_l2_cntxt_check:97*/ + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.chaining_check:99*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.chaining_check:100*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* cond_execute: class_tid: 1, control.flow_chain_group_l2_cntxt_check:101*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:98*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:102*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:103*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* cond_execute: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:104*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:105*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry:99*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:106*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* cond_execute: class_tid: 1, mac_addr_cache.rd:100*/ + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:107*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:108*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* cond_execute: class_tid: 1, mac_addr_cache.rd:109*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_O_DMAC @@ -4225,12 +5203,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, mac_addr_cache.rd:102*/ + /* field_cond: class_tid: 1, mac_addr_cache.rd:111*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.rd:112*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.rd:113*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.rd:103*/ + /* field_cond: class_tid: 1, mac_addr_cache.rd:114*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_METADATA @@ -4239,12 +5227,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.mac_addr_cache_miss:105*/ + /* cond_execute: class_tid: 1, control.mac_addr_cache_miss:116*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:106*/ + /* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:117*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 @@ -4253,22 +5241,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_F2 }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry:108*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry:119*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry:120*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* cond_execute: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:121*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:122*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry:109*/ + /* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:123*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.wr:110*/ + /* field_cond: class_tid: 1, mac_addr_cache.wr:124*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.wr:125*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 1, mac_addr_cache.wr:126*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, mac_addr_cache.wr:111*/ + /* field_cond: class_tid: 1, mac_addr_cache.wr:127*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_METADATA @@ -4277,12 +5290,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.check_f1_flow:113*/ + /* cond_execute: class_tid: 1, control.check_f1_flow:129*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_F1 }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, control.l2_only_check:130*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4303,7 +5316,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.l2_only_check:114*/ + /* cond_execute: class_tid: 1, control.l2_only_check:130*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4324,7 +5337,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/ + /* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:140*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -4341,7 +5354,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, control.terminating_flow:128*/ + /* field_cond: class_tid: 1, control.terminating_flow:144*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4354,7 +5367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:131*/ + /* field_cond: class_tid: 1, control.terminating_flow:147*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4367,7 +5380,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:134*/ + /* field_cond: class_tid: 1, control.terminating_flow:150*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4376,7 +5389,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, control.terminating_flow:136*/ + /* field_cond: class_tid: 1, control.terminating_flow:152*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4385,12 +5398,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, control.terminating_flow:138*/ + /* field_cond: class_tid: 1, control.terminating_flow:154*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, proto_header_cache.rd:139*/ + /* field_cond: class_tid: 1, proto_header_cache.rd:155*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4399,12 +5412,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.proto_header_cache_miss:141*/ + /* cond_execute: class_tid: 1, control.proto_header_cache_miss:157*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:142*/ + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:158*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4413,12 +5426,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 1, control.overlap_miss:144*/ + /* cond_execute: class_tid: 1, control.overlap_miss:160*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:145*/ + /* cond_execute: class_tid: 1, group_miss_action_cache.rd:161*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* field_cond: class_tid: 1, group_miss_action_cache.rd:162*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:163*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4427,7 +5450,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:147*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:165*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -4436,12 +5459,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:149*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET + }, + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:168*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:150*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:169*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4458,7 +5485,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:154*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:173*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4475,7 +5502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:158*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:177*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4496,7 +5523,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:163*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:182*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4517,7 +5544,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:168*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:187*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4538,7 +5565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:173*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:192*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -4559,7 +5586,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:178*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:197*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4576,12 +5603,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:182*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:201*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:183*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:202*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4598,7 +5625,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:187*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:206*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4615,7 +5642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:191*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:210*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4632,7 +5659,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:195*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:214*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4649,7 +5676,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:199*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:218*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4666,7 +5693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:203*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:222*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4683,7 +5710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:207*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:226*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4700,7 +5727,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:211*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:230*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4717,7 +5744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:215*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:234*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4734,7 +5761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:219*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:238*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4751,7 +5778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:223*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:242*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4768,7 +5795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:227*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:246*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4789,7 +5816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:232*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:251*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -4806,7 +5833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:236*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:255*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4819,7 +5846,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:239*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:258*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4832,7 +5859,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:242*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:261*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4849,7 +5876,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:246*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:265*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4862,7 +5889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:249*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:268*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4879,7 +5906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:253*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:272*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4892,7 +5919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:256*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:275*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4913,7 +5940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:261*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:280*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4930,7 +5957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:265*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:284*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4951,7 +5978,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:270*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:289*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -4972,7 +5999,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:275*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:294*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -4989,7 +6016,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:279*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:298*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -5006,7 +6033,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:283*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:302*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5027,7 +6054,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:288*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:307*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5044,7 +6071,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:292*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:311*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5065,7 +6092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:297*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:316*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5086,7 +6113,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:302*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:321*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5103,7 +6130,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:306*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:325*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5120,7 +6147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:310*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:329*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5141,7 +6168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:315*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:334*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5162,7 +6189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:320*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:339*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5179,7 +6206,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:324*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:343*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5196,7 +6223,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:328*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:347*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5217,7 +6244,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:333*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:352*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5238,7 +6265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:338*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:357*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5255,7 +6282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:342*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:361*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5272,7 +6299,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:346*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:365*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5293,7 +6320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:351*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:370*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5314,7 +6341,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:356*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:375*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5331,7 +6358,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:360*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:379*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5348,7 +6375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:364*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:383*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5369,7 +6396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:369*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:388*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5390,7 +6417,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:374*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:393*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5407,7 +6434,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:378*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:397*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -5424,7 +6451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:382*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:401*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5433,7 +6460,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:384*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:403*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -5446,12 +6473,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:387*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:406*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:388*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:407*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -5464,7 +6491,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:391*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:410*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -5473,7 +6500,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:393*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:412*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 @@ -5486,12 +6513,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:396*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:415*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.wc_gen_template:397*/ + /* field_cond: class_tid: 1, fkb_select.wc_gen_template:416*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 @@ -5504,1249 +6531,1223 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:400*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, + /* cond_execute: class_tid: 1, wm.ingress_generic_template_grp_catch_all:419*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:402*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:420*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:403*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:422*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:405*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:424*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:407*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:409*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:427*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:411*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:430*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:413*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:432*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:415*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, control.profile_tcam_priority:417*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:436*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:419*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:421*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:440*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:423*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:425*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:444*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:427*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:429*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:448*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:433*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:435*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:453*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:437*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:439*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:441*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:458*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:443*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:445*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:463*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:447*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:449*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:468*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:451*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:453*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:455*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:473*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:457*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:459*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:461*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:478*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:463*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:465*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:483*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:467*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:469*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:488*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:471*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:473*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:492*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:475*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:477*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:496*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:479*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:481*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:500*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:501*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:483*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:485*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:505*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:506*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:487*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:489*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:510*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:491*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:493*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:514*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:495*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:497*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:518*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:499*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:501*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:522*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:503*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:505*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:526*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:507*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:509*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:530*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:511*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:513*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:534*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:515*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:517*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:538*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:519*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:521*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:542*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:523*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:525*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:546*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:527*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:529*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:550*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:531*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:533*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:554*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:535*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:537*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:558*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:539*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:542*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:562*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:566*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:545*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:548*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:570*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:551*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:552*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:574*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:553*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:555*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:578*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:557*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:559*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:582*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:561*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:563*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:586*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:565*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:567*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:591*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:571*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:595*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:573*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_UPAR1 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:575*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_UPAR2 + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:600*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:577*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:579*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:604*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:581*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:583*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:607*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:585*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:610*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_UPAR1 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:587*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_UPAR2 + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:589*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:613*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:590*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:591*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:616*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:592*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:594*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:620*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:596*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:623*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:598*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:600*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:627*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:602*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:630*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:604*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:606*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:634*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:608*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:637*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:610*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:612*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:641*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:614*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:644*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:616*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:618*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:620*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:621*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:649*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:623*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:625*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:653*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:626*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:628*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:630*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:658*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:632*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:634*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:662*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:636*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:638*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:640*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:667*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:642*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:644*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:646*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:672*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:648*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:650*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:676*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:653*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:680*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:656*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:657*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:685*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:658*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:660*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_F2 + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, profile_tcam.gen_template:662*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:690*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, wm_key_recipe.0:664*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:666*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:694*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, - /* field_cond: class_tid: 1, wm_key_recipe.0:668*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:670*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:698*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:672*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:673*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, wm_key_recipe.0:674*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:703*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -6755,12 +7756,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:707*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:678*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -6768,19 +7773,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:682*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:712*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -6789,12 +7794,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, wm_key_recipe.0:686*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:716*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -6802,37 +7807,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:690*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:720*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:695*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:723*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -6840,41 +7837,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:700*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:727*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:705*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:730*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -6882,41 +7867,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:710*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:734*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:715*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:737*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -6924,45 +7897,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:720*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:741*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:725*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:744*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -6970,19 +7927,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:730*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:748*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -6991,12 +7944,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:734*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:751*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7004,38 +7957,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:738*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:755*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:742*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:743*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:758*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7043,38 +7987,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:747*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:748*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:762*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:752*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:765*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7082,19 +8017,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:756*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:769*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -7105,10 +8036,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, wm_key_recipe.0:760*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:772*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7116,33 +8047,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:764*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:768*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:776*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7150,19 +8064,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:772*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:780*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -7173,13 +8083,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:776*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP - }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:783*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -7190,10 +8096,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:780*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:786*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7201,16 +8107,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:784*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:790*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7218,19 +8124,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:788*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:794*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -7239,15 +8141,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:792*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:797*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -7256,12 +8154,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:796*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:800*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7269,16 +8167,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:800*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:803*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7286,33 +8180,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:806*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:804*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:808*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:808*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:810*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7320,16 +8211,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:812*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:814*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7337,50 +8228,42 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:816*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:818*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:820*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:821*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:824*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:824*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7388,75 +8271,60 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:828*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:827*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, - { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:830*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:833*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:832*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:837*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:834*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, - { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:842*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:838*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -7464,65 +8332,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:846*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:842*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:849*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:845*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, wm_key_recipe.0:852*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:848*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:855*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:858*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:852*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7533,56 +8392,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:862*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:856*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:865*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:859*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:869*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:862*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:872*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:866*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7593,56 +8452,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:876*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:870*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:879*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:873*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, wm_key_recipe.0:883*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:876*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:886*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:880*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7653,72 +8512,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:891*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:884*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:895*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:887*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:900*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:890*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:904*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:892*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7729,17 +8564,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:909*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:896*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7750,51 +8581,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:914*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:900*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:918*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:903*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:906*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, wm_key_recipe.0:922*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:908*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7805,17 +8633,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:927*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7826,55 +8650,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:932*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:936*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:919*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:922*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:940*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:924*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -7885,132 +8702,124 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:945*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:928*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:949*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:932*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:954*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:935*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, wm_key_recipe.0:958*/ + /* field_cond: class_tid: 1, wm.ingress_generic_template_grp_catch_all:938*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, + /* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:940*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:942*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 1, wm_key_recipe.0:962*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:943*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, control.profile_tcam_priority:945*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:965*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, control.profile_tcam_priority:947*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:969*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:949*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 1, control.profile_tcam_priority:951*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:972*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 1, control.profile_tcam_priority:953*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8019,298 +8828,241 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:976*/ + /* field_cond: class_tid: 1, control.profile_tcam_priority:955*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, control.profile_tcam_priority:957*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:979*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:959*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:983*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:961*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:986*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:963*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:990*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:965*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:993*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:967*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:997*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:969*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1000*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:971*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1004*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:973*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:975*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1007*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:977*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1011*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:979*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:981*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1014*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:983*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:985*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1018*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:987*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1022*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:989*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1025*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:991*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:993*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1028*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:995*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:997*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1032*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:999*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1036*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1001*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1039*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1003*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1005*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1042*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1007*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8319,29 +9071,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1045*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP - }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1009*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1048*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1011*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1050*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1013*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8350,145 +9098,124 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1052*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP - }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1015*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1017*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1056*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1019*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1060*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1021*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1063*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1023*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1025*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1066*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1027*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1069*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1029*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1072*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1031*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1074*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1033*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1076*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1035*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1037*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1080*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1039*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1084*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1041*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8497,28 +9224,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1043*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1087*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1045*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1090*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1047*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8527,15 +9251,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1094*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP - }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1049*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8544,11 +9260,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1098*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1051*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8557,11 +9269,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1101*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1053*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8570,15 +9278,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1104*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP - }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1055*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8587,15 +9287,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1108*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP - }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1057*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8604,11 +9296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1112*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1059*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8617,11 +9305,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1115*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1061*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -8630,506 +9314,472 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1118*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP - }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1063*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT - }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1122*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1065*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1126*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1067*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1129*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1069*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1071*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1132*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1073*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1134*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1075*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1077*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1138*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1079*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1142*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1082*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1145*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1085*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1148*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1088*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1091*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1150*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1092*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1093*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1095*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1154*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1097*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1158*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1099*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1161*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1101*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1103*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1164*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1105*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1166*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1107*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1109*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1170*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1111*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1113*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1174*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1115*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1177*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1117*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1119*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, wm_key_recipe.0:1180*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1121*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, proto_header_cache.wr:1182*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1123*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1184*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, - .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1125*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1187*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1127*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, - /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1189*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1129*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1190*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1130*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1131*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1192*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1132*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1194*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1134*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1195*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1136*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1138*/ { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1200*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1140*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1142*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1204*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1144*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1146*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID - }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1209*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1148*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1150*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1214*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1152*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1154*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1219*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1156*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1158*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1224*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1160*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1161*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR - }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1228*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1163*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1232*/ + /* field_cond: class_tid: 1, profile_tcam.gen_template:1165*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1166*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9138,32 +9788,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1168*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1236*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1170*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1172*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1240*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1174*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9172,32 +9824,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1176*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1244*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1178*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1180*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1248*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1182*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -9206,163 +9860,168 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1184*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1252*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1186*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1188*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1256*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1260*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1193*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1264*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1196*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1197*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1198*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1268*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1200*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_F2 }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1202*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1272*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, + /* field_cond: class_tid: 1, profile_tcam.gen_template:1205*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, + .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1206*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1277*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1208*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1210*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1281*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1213*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1284*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1216*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, + .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1217*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1287*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1218*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1219*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9370,19 +10029,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1223*/ { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1292*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9390,17 +10049,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1296*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1227*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9408,15 +10063,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1300*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1231*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9424,13 +10083,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1303*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1235*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9438,19 +10097,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1308*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1240*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9462,13 +10125,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1312*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1245*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9476,20 +10139,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1317*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1250*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9497,19 +10160,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1322*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1255*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9521,12 +10188,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1326*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1260*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9538,17 +10209,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1330*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1265*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9556,19 +10227,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1335*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1270*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9576,13 +10251,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1339*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1275*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9590,16 +10265,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1343*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1279*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9607,15 +10282,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1347*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1283*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9623,26 +10302,40 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1350*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1287*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1288*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1292*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1353*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1293*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9650,16 +10343,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1357*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1297*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9667,15 +10360,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1361*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1301*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9683,26 +10380,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1364*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1305*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1367*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1309*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9710,16 +10411,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1371*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1313*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9727,15 +10428,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1375*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1317*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9743,12 +10448,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1378*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1321*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9756,13 +10465,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1381*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1325*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9770,16 +10479,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1385*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1329*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9787,15 +10496,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1389*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1333*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9803,12 +10516,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1392*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1337*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9816,13 +10533,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1395*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1341*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9830,16 +10547,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1399*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1345*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9847,15 +10564,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1403*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1349*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9863,12 +10584,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1406*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1353*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9876,13 +10601,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1409*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1357*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9890,16 +10615,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1413*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1361*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9907,28 +10632,36 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1417*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1365*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1420*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1369*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9936,30 +10669,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1423*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1373*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1427*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1378*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -9967,28 +10704,40 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1431*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1382*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, fkb_select.em_gen_template:1434*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1387*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -9996,59 +10745,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1437*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1391*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1439*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1394*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1441*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1397*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1443*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1445*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1400*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1446*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1447*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1403*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10056,20 +10811,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1407*/ { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1452*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1410*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10077,20 +10841,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1414*/ { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1457*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1417*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10098,16 +10871,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1421*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1461*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1424*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10115,16 +10901,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1428*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1465*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1431*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10132,6 +10931,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1436*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { @@ -10139,13 +10955,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1470*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1440*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10153,6 +10969,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1445*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { @@ -10160,13 +10993,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1475*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1449*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10174,20 +11007,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1480*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1454*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10195,23 +11028,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, em_key_recipe.0:1485*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1459*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -10223,16 +11052,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1490*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP - }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1463*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -10244,17 +11069,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1495*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY - }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1467*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10262,20 +11083,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, em_key_recipe.0:1500*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1472*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10283,50 +11104,58 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 1, em_key_recipe.0:1505*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1477*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, em_key_recipe.0:1509*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1481*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1485*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, em_key_recipe.0:1513*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10334,33 +11163,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1517*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1490*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1494*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, em_key_recipe.0:1521*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10368,33 +11201,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1525*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1499*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1529*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1503*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10402,33 +11235,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1533*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1507*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1537*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1510*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10436,19 +11265,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1541*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1514*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -10456,13 +11281,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1545*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1517*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10470,33 +11295,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1549*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1521*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1553*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1524*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10504,33 +11325,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1557*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1528*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1561*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1531*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10538,19 +11355,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1565*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1535*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -10558,13 +11371,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1569*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1538*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10572,19 +11385,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1573*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1542*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -10592,13 +11401,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1577*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1545*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10606,33 +11415,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1581*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1549*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1585*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1552*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10640,33 +11445,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1589*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1556*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1593*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1559*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10674,16 +11475,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1597*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1563*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10691,37 +11492,42 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1601*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1567*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1570*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1606*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1573*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -10729,103 +11535,117 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1610*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1577*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1581*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1615*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1584*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1619*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1587*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1622*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1590*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1625*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1593*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1595*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1628*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1597*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1631*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1601*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10836,34 +11656,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1636*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1605*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1608*/ { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1640*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1611*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10874,64 +11699,57 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1614*/ { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1645*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1617*/ { - .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1649*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1619*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1621*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1653*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1656*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1625*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -10942,64 +11760,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1660*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1629*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 1, em_key_recipe.0:1663*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1632*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1635*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1668*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1672*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1639*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11010,34 +11820,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1677*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1643*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1646*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1681*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1649*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11048,17 +11863,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1686*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1653*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11069,51 +11880,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1691*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1657*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1695*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1660*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1699*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1663*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11124,17 +11923,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1704*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1667*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11145,55 +11940,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1709*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1671*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1713*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1674*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1677*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1717*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1679*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11204,98 +11992,82 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1722*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1683*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE - }, - /* field_cond: class_tid: 1, em_key_recipe.0:1726*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1687*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1731*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1690*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1735*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1693*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1695*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1739*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1742*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1699*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11306,56 +12078,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1746*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1703*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1749*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1706*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1753*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1709*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, em_key_recipe.0:1756*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1711*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11366,119 +12130,127 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1760*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1715*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 1, em_key_recipe.0:1763*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, + /* field_cond: class_tid: 1, wm_key_recipe.0:1719*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1767*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1722*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1770*/ + /* field_cond: class_tid: 1, wm_key_recipe.0:1725*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, + /* field_cond: class_tid: 1, proto_header_cache.wr:1727*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1774*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1729*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, + .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 1, em_key_recipe.0:1777*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, + /* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1732*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1734*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1781*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1735*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1737*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1739*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1784*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1740*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11486,29 +12258,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1788*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1745*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1791*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1749*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11516,16 +12296,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1795*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1754*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11533,42 +12317,62 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1799*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1759*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1802*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1764*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1805*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1769*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11576,16 +12380,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1809*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1773*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11593,15 +12397,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1813*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1777*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -11610,11 +12418,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1816*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1781*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -11623,12 +12435,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1819*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1785*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11636,16 +12448,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1823*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1789*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11653,15 +12465,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 1, em_key_recipe.0:1827*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1793*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -11672,9 +12488,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1830*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1797*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -11685,10 +12505,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1833*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1801*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11696,16 +12516,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1837*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1805*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11713,59 +12533,71 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 1, em_key_recipe.0:1841*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1809*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1844*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1813*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1847*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1817*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1851*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1822*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -11773,39 +12605,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 1, em_key_recipe.0:1855*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1826*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1858*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1829*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 1, em_key_recipe.0:1861*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1832*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11816,56 +12648,64 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1865*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1837*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1869*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1841*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1872*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1845*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 1, em_key_recipe.0:1875*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1848*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11876,13 +12716,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1853*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1879*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1857*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11893,56 +12754,76 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1883*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1862*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 1, em_key_recipe.0:1886*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1867*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 1, em_key_recipe.0:1889*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1871*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1875*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, em_key_recipe.0:1893*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11953,39 +12834,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT - }, - /* field_cond: class_tid: 1, em_key_recipe.0:1897*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1880*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 1, em_key_recipe.0:1900*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 1, em_key_recipe.0:1903*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1884*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -11996,13 +12868,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1907*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1888*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12013,39 +12885,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1911*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1892*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1914*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1895*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1917*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1898*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12056,13 +12928,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1921*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1902*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -12073,138 +12945,102 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1925*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1906*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 1, em_key_recipe.0:1928*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1909*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT - }, - /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:1931*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* cond_execute: class_tid: 1, control.field_sig_validation:1933*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1912*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_CC - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID - }, - /* cond_execute: class_tid: 1, control.outer_loop_add_check:1935*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD - }, - /* cond_execute: class_tid: 1, em.ingress_generic_template:1937*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, - .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1916*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 1, control.em_add_check:1941*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* cond_execute: class_tid: 1, control.outer_loop_check:1942*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* cond_execute: class_tid: 2, control.l2_only_check:1943*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1920*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* cond_execute: class_tid: 2, control.l2_only_check:1943*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1923*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:1953*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1926*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -12212,20 +13048,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:1953*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1930*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -12233,143 +13065,137 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* cond_execute: class_tid: 2, control.check_tunnel_recycle:1963*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1934*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* cond_execute: class_tid: 2, control.multi_tunnel_check:1965*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, - .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1937*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1967*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1969*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1940*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1971*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1973*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1944*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1975*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR - }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1977*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1948*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1979*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1951*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1981*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1983*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1954*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1985*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1987*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1958*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1989*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1962*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1991*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP @@ -12378,244 +13204,223 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:1993*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1965*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT - }, - /* cond_execute: class_tid: 2, control.multi_flow_cache_check:1995*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:1996*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:1998*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1968*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2000*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2002*/ + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1972*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2004*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1976*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2006*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 1, fkb_select.em_gen_template:1979*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2008*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2010*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1982*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2012*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1984*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2014*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1986*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2016*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1988*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2018*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1990*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, + /* field_cond: class_tid: 1, em_key_recipe.0:1991*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2020*/ + /* field_cond: class_tid: 1, em_key_recipe.0:1992*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2022*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, control.terminating_flow:2024*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, em_key_recipe.0:1997*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, control.terminating_flow:2026*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP - }, - /* field_cond: class_tid: 2, control.terminating_flow:2028*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, control.terminating_flow:2030*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, em_key_recipe.0:2002*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.group_id_check:2032*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* cond_execute: class_tid: 2, control.flow_chain_group_id:2033*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, proto_header_cache.rd:2034*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 1, em_key_recipe.0:2006*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2036*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS - }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2037*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* cond_execute: class_tid: 2, control.overlap_miss:2039*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2040*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2010*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2042*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2044*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2045*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2015*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12626,13 +13431,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2049*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2020*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12643,26 +13452,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC - }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2053*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2056*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2025*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12676,14 +13476,14 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2061*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2030*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12701,10 +13501,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2066*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2035*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12722,10 +13522,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2071*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2040*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY @@ -12743,10 +13543,14 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2076*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2045*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12757,18 +13561,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2080*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2081*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2050*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12782,10 +13581,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2085*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2054*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12796,13 +13595,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2089*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2058*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12813,13 +13612,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2093*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2062*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12833,10 +13632,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2097*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2066*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12850,10 +13649,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2101*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2070*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12864,13 +13663,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2105*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2074*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12881,13 +13680,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2109*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2078*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12901,10 +13700,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2113*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2082*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12915,13 +13714,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2117*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2086*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12932,13 +13731,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2121*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2090*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12949,13 +13748,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2125*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2094*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12965,18 +13764,14 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, - { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2130*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2098*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -12987,42 +13782,50 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2134*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2102*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2137*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2106*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2140*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2110*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -13030,29 +13833,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2144*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2114*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2147*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -13060,29 +13867,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2151*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2122*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2154*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2126*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -13090,37 +13901,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, + /* field_cond: class_tid: 1, em_key_recipe.0:2130*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2159*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2163*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2134*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -13128,20 +13935,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2168*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2138*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -13149,58 +13952,54 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, + /* field_cond: class_tid: 1, em_key_recipe.0:2142*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2173*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 1, em_key_recipe.0:2146*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2177*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2181*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, + /* field_cond: class_tid: 1, em_key_recipe.0:2151*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -13208,37 +14007,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2186*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2155*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2190*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, + /* field_cond: class_tid: 1, em_key_recipe.0:2160*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -13246,72 +14045,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2195*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, + /* field_cond: class_tid: 1, em_key_recipe.0:2164*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, + /* field_cond: class_tid: 1, em_key_recipe.0:2167*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2200*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, + /* field_cond: class_tid: 1, em_key_recipe.0:2170*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2204*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, + /* field_cond: class_tid: 1, em_key_recipe.0:2173*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2208*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, + /* field_cond: class_tid: 1, em_key_recipe.0:2176*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13322,17 +14114,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2213*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2181*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, em_key_recipe.0:2185*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13343,52 +14152,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2218*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, + /* field_cond: class_tid: 1, em_key_recipe.0:2190*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2222*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_EXCLUDE_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 1, em_key_recipe.0:2194*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2226*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2198*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2201*/ + { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, @@ -13398,18 +14220,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2231*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2205*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2208*/ + { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, @@ -13419,51 +14250,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2236*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2213*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2240*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2217*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2244*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2222*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2226*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13474,17 +14326,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2249*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2231*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13495,51 +14347,51 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2254*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2236*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2258*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2240*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2262*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2244*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13550,17 +14402,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2267*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2249*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13571,47 +14423,55 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2272*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2254*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2276*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2258*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2262*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2280*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13620,38 +14480,36 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2282*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, + /* field_cond: class_tid: 1, em_key_recipe.0:2267*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2285*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2286*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, + /* field_cond: class_tid: 1, em_key_recipe.0:2271*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2289*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -13660,97 +14518,96 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2291*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, + /* field_cond: class_tid: 1, em_key_recipe.0:2276*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2294*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2295*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, + /* field_cond: class_tid: 1, em_key_recipe.0:2280*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:2298*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:2300*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2301*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2284*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2303*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 1, em_key_recipe.0:2287*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2305*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2307*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2291*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2309*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 1, em_key_recipe.0:2294*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2311*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13759,16 +14616,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2313*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, control.profile_tcam_priority:2315*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2298*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -13777,304 +14629,315 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2317*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, em_key_recipe.0:2301*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2319*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP - }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2321*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2323*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2305*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2325*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 1, em_key_recipe.0:2308*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2327*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP - }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2329*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2331*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2312*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2333*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 1, em_key_recipe.0:2315*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2335*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2337*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2319*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2339*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 1, em_key_recipe.0:2322*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2341*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2343*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2326*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2345*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 1, em_key_recipe.0:2329*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2347*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2349*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2333*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2351*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 1, em_key_recipe.0:2336*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2353*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2355*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, + /* field_cond: class_tid: 1, em_key_recipe.0:2340*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2357*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2359*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2344*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2361*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2347*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2363*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, + /* field_cond: class_tid: 1, em_key_recipe.0:2350*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2365*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2367*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, + /* field_cond: class_tid: 1, em_key_recipe.0:2354*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2369*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2371*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2358*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2373*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2361*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2375*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, + /* field_cond: class_tid: 1, em_key_recipe.0:2364*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2377*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2379*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2368*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2381*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2383*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2372*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14083,16 +14946,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2385*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2387*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2375*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14101,7 +14959,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2389*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2378*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14110,16 +14976,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2391*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2382*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2393*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14128,61 +14993,58 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2395*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2386*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2397*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2399*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2389*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2401*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, + /* field_cond: class_tid: 1, em_key_recipe.0:2392*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2403*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2405*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, + /* field_cond: class_tid: 1, em_key_recipe.0:2396*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2407*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14191,7 +15053,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2409*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14200,7 +15066,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2411*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2403*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14209,7 +15079,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2413*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2406*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14218,7 +15096,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2415*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2410*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14227,7 +15113,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2417*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2414*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14236,7 +15126,11 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2419*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2417*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -14245,652 +15139,724 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2421*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2420*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2424*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2423*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2425*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2428*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2427*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2434*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2429*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2438*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2431*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2433*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2442*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2435*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2445*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2448*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2437*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2440*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2452*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2443*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2456*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2446*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2459*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2449*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2450*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2462*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2451*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2453*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, + /* field_cond: class_tid: 1, em_key_recipe.0:2466*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2455*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2457*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + }, + /* field_cond: class_tid: 1, em_key_recipe.0:2470*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2459*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2461*/ + /* field_cond: class_tid: 1, em_key_recipe.0:2473*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2463*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2476*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2465*/ + /* cond_execute: class_tid: 1, control.field_sig_validation:2478*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2467*/ + /* cond_execute: class_tid: 1, control.outer_loop_add_check:2480*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2469*/ + /* cond_execute: class_tid: 1, em.ingress_generic_template:2482*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, + .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2471*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_UPAR1 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2473*/ + /* cond_execute: class_tid: 1, control.em_add_check:2486*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL }, + /* cond_execute: class_tid: 1, control.outer_loop_check:2487*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_UPAR2 + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2475*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2488*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2477*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2479*/ + /* cond_execute: class_tid: 2, control.l2_only_check:2488*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2481*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_GRE + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2483*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2498*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_UPAR1 + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2485*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_UPAR2 + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2487*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2488*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2489*/ + /* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2498*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2490*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2492*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2494*/ + /* cond_execute: class_tid: 2, control.check_tunnel_recycle:2508*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2496*/ + /* cond_execute: class_tid: 2, control.multi_tunnel_check:2510*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, + .cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2512*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2498*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2514*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2500*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2516*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2502*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2518*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2504*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2520*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2506*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2522*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2508*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2524*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2510*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2526*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2512*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2528*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2514*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2530*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2516*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2532*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2518*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2519*/ + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2534*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2536*/ + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2521*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2538*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2523*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2524*/ + /* cond_execute: class_tid: 2, control.multi_flow_cache_check:2540*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2541*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2526*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2543*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2528*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2545*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2530*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2547*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2532*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2549*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2534*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2551*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2536*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2553*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2538*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2555*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2540*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2557*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2542*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2559*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2544*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2561*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2546*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2563*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2548*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2565*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, + /* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2567*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2551*/ + /* field_cond: class_tid: 2, control.terminating_flow:2569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + /* field_cond: class_tid: 2, control.terminating_flow:2571*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2554*/ + /* field_cond: class_tid: 2, control.terminating_flow:2573*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2555*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2556*/ + /* field_cond: class_tid: 2, control.terminating_flow:2575*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, profile_tcam.gen_template:2558*/ + /* cond_execute: class_tid: 2, control.group_id_check:2577*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, + /* cond_execute: class_tid: 2, control.flow_chain_group_id:2578*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2560*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, + /* field_cond: class_tid: 2, proto_header_cache.rd:2579*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2562*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, + /* cond_execute: class_tid: 2, control.proto_header_cache_miss:2581*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2564*/ + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2582*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID @@ -14899,43 +15865,49 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2566*/ + /* cond_execute: class_tid: 2, control.overlap_miss:2584*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 2, group_miss_action_cache.rd:2585*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* field_cond: class_tid: 2, group_miss_action_cache.rd:2586*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2587*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2568*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2569*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2589*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2570*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2592*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2574*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2593*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14952,7 +15924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2578*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2597*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14969,7 +15941,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2582*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2601*/ { .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW @@ -14982,7 +15954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2585*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2604*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -14993,26 +15965,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2589*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2592*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2609*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15031,9 +15994,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2597*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2614*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15047,14 +16010,18 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2602*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2619*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15065,17 +16032,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2607*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2624*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15086,17 +16049,18 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2628*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2612*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2629*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15107,17 +16071,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2617*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2633*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15128,21 +16088,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2622*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2637*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15153,17 +16105,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2627*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2641*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15174,13 +16122,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2632*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2645*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15195,9 +16143,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2636*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2649*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15208,13 +16156,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2640*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2653*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15225,18 +16173,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2644*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2645*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2657*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15251,14 +16194,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2649*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, - .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2650*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2661*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15273,9 +16211,9 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2654*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2665*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15286,13 +16224,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2658*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2669*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15303,13 +16241,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2662*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2673*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15319,14 +16257,18 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2666*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2678*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP @@ -15337,50 +16279,42 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2670*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2682*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2674*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2685*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2678*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2688*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15388,33 +16322,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2682*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2692*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2686*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2695*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15422,33 +16352,29 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2690*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2699*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2694*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2702*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15456,33 +16382,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2698*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2707*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2702*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2711*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15490,16 +16420,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2706*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2716*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15507,50 +16441,58 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2710*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2721*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2714*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2725*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2729*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2718*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15558,33 +16500,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2722*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2734*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2738*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2726*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15592,75 +16538,75 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2743*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2730*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, - { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2735*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2748*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2739*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2752*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2756*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2744*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15668,65 +16614,93 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2761*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2748*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2751*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2766*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2754*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2770*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2774*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2757*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2779*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2760*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15737,56 +16711,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2784*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2764*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2767*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2788*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2771*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2792*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2797*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2774*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15797,56 +16787,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2802*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2778*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2781*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2806*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2785*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2810*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2815*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2788*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15857,34 +16863,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2820*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2793*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2824*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2797*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2828*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15893,36 +16912,38 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2830*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2802*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2833*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2834*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2806*/ + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2837*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -15931,22 +16952,100 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2839*/ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ICMP + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2842*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + /* field_cond: class_tid: 2, fkb_select.wc_gen_template:2843*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP + }, + /* cond_execute: class_tid: 2, wm.egress_generic_template_grp_catch_all:2846*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2811*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2847*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2849*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2851*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2854*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2857*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2858*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2859*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -15954,54 +17053,93 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2863*/ { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2816*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2867*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2820*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2871*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2874*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2878*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2824*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2881*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16009,20 +17147,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2829*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2886*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16030,19 +17168,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2834*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2891*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16057,9 +17199,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2838*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2896*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16074,14 +17220,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2842*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY - }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2901*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16089,37 +17231,45 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2847*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2906*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2851*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2911*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16127,19 +17277,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2856*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2916*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16150,10 +17304,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2860*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2921*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16161,15 +17315,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2864*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2925*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16180,10 +17338,10 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2867*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2929*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16191,29 +17349,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2871*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2933*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2934*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2938*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2874*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2939*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16221,29 +17393,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2878*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2943*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2881*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2947*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16251,15 +17427,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2885*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2951*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16268,12 +17448,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2888*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2955*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16281,15 +17461,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2892*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2959*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16298,12 +17482,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2895*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2963*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16311,15 +17495,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2899*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2967*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16328,12 +17516,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2902*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2971*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16341,29 +17529,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2906*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2975*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2909*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2979*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16371,29 +17563,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2913*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2983*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2916*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2987*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16401,16 +17597,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2920*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2991*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16418,15 +17614,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2924*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2995*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16435,11 +17635,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2927*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:2999*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -16448,12 +17652,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2930*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3003*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16461,16 +17665,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2934*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3007*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16478,55 +17682,71 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2938*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3011*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2941*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3015*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2944*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3019*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2947*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3024*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16534,30 +17754,37 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2950*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3028*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2952*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2954*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3033*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -16565,69 +17792,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2958*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3037*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2962*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3040*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2965*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3043*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2968*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3046*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2971*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3049*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16638,27 +17861,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2974*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2976*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3053*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2978*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3056*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16669,13 +17891,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3060*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2982*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3063*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16686,39 +17921,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2986*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3067*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3070*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2989*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3074*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2992*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3077*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16729,56 +17981,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, wm_key_recipe.0:2996*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3082*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3000*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3086*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3003*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3091*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3006*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3095*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16789,13 +18057,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3010*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3100*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16806,39 +18078,51 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3014*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3105*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3017*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3109*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3020*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3113*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16849,13 +18133,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3024*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3118*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16866,48 +18154,55 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3028*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3123*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3031*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3127*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3034*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3131*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3036*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -16918,82 +18213,98 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3040*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3136*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3044*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3140*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3145*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3047*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3050*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3149*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3052*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3153*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3056*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3156*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17004,48 +18315,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3060*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3160*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3063*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3163*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3066*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3167*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3068*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3170*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17056,144 +18375,149 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT - }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3072*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3174*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3076*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3177*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3079*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3181*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, wm_key_recipe.0:3082*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3184*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, proto_header_cache.wr:3084*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:3086*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3188*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, - .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3191*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:3089*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:3091*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3092*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3195*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3094*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3198*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3096*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3097*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3202*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3101*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3205*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17201,16 +18525,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3105*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3209*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17218,41 +18542,42 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3213*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3110*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3216*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3115*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3219*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17260,58 +18585,59 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3223*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3120*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3227*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3125*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3230*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3129*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3233*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17319,16 +18645,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3133*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3236*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17336,33 +18658,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3239*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3137*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3241*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3141*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3243*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17370,16 +18689,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3145*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3247*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17387,19 +18706,15 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3149*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3251*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -17407,16 +18722,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3153*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP - }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3254*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -17424,13 +18735,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3157*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3257*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17438,16 +18749,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3161*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3260*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17455,33 +18762,30 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3263*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3165*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3265*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT - }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3169*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3267*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -17489,77 +18793,73 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3173*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3271*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, - { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3178*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3275*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3182*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3278*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3185*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3281*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3188*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3285*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17570,56 +18870,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3192*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3289*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3195*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3292*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3199*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3295*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3202*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3299*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17630,34 +18930,39 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3207*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3303*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3306*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3211*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3309*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17668,17 +18973,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3216*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3313*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17689,55 +18990,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3221*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3317*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3225*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3320*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3323*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3229*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3325*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17748,30 +19042,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE - }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3234*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3238*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3329*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17782,56 +19059,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3242*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3333*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3246*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3336*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3249*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3339*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3252*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3341*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17842,13 +19111,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3256*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3345*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17859,39 +19128,48 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3260*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3349*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3263*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3352*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3266*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3355*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3357*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17902,13 +19180,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3270*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3361*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -17919,133 +19197,125 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3274*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3365*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3277*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3368*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3280*/ + /* field_cond: class_tid: 2, wm.egress_generic_template_grp_catch_all:3371*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, + /* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:3373*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3284*/ + /* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:3375*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW }, + /* field_cond: class_tid: 2, control.profile_tcam_priority:3376*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3288*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3378*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3291*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3380*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 2, control.profile_tcam_priority:3382*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3294*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, control.profile_tcam_priority:3384*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 2, control.profile_tcam_priority:3386*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3298*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 2, control.profile_tcam_priority:3388*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3302*/ + /* field_cond: class_tid: 2, control.profile_tcam_priority:3390*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18054,28 +19324,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3392*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS - }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3305*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3394*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3308*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3396*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18084,15 +19351,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3398*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3312*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3400*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18101,71 +19369,61 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT - }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3316*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3402*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3319*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3404*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3406*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3322*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3408*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3410*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3326*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3412*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3330*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3414*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18174,11 +19432,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3416*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, - /* field_cond: class_tid: 2, fkb_select.em_gen_template:3333*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3418*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18187,688 +19450,678 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3420*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3336*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3422*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3338*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3424*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3340*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3426*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3342*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3428*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3344*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3345*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3430*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3346*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3432*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3434*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3350*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3436*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3438*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3354*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3440*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3442*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3358*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3444*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3446*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3362*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3448*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3450*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3367*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3452*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3454*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3372*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3456*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3458*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3377*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3460*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3462*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3382*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3464*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3466*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3387*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3468*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3470*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, em_key_recipe.0:3392*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3472*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3474*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, em_key_recipe.0:3397*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3476*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3478*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3480*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3402*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3482*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3484*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3406*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3486*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR - }, - /* field_cond: class_tid: 2, em_key_recipe.0:3410*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP - }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3488*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3490*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3414*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3492*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3494*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3418*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3496*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3498*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3422*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3500*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3502*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3426*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3504*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3506*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3430*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3508*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3510*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3434*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3512*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, - /* field_cond: class_tid: 2, em_key_recipe.0:3438*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3515*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, - /* field_cond: class_tid: 2, em_key_recipe.0:3442*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3518*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, - /* field_cond: class_tid: 2, em_key_recipe.0:3446*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3521*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3524*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3450*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3525*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3526*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3528*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3454*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3530*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3532*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3458*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3534*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3536*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3462*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3538*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3540*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3466*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3542*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3544*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3470*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3546*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3548*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3474*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3550*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3552*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3478*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3554*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3556*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3482*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_GRE }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3558*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_UPAR1 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3560*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3486*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_UPAR2 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3562*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3563*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3490*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3564*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3565*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3567*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3494*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3569*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18877,36 +20130,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3571*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3498*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3573*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, - { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3575*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3503*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3577*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18915,36 +20166,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3579*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3507*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3581*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID - }, - { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3583*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3512*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3585*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL @@ -18953,283 +20202,308 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3587*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT - }, - /* field_cond: class_tid: 2, em_key_recipe.0:3516*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3519*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3589*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3522*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3591*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3593*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3525*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3594*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3596*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3528*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3598*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3599*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, em_key_recipe.0:3532*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3601*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3603*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3535*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3605*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, em_key_recipe.0:3539*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3607*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3609*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3542*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3611*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* field_cond: class_tid: 2, em_key_recipe.0:3546*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3613*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3615*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3549*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3617*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, - /* field_cond: class_tid: 2, em_key_recipe.0:3553*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3619*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3621*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3556*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3623*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, em_key_recipe.0:3561*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3626*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3629*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3565*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3630*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_DIX_TRAFFIC }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3631*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, + /* field_cond: class_tid: 2, profile_tcam.gen_template:3633*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3570*/ + /* field_cond: class_tid: 2, profile_tcam.gen_template:3635*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, + .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3636*/ { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3638*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3574*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3640*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3643*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_IS_SET + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3646*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, + .cond_operand = BNXT_ULP_CF_IDX_GROUP_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3647*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3648*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3649*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3579*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3653*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19237,54 +20511,76 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3657*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3584*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3661*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, em_key_recipe.0:3588*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3664*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3668*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* field_cond: class_tid: 2, em_key_recipe.0:3592*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3671*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19292,20 +20588,20 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3597*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3676*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19313,19 +20609,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, - .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3602*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3681*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19337,12 +20637,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3606*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3686*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19354,17 +20658,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3610*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY - }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3691*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19372,37 +20672,45 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, em_key_recipe.0:3615*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3696*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN }, - /* field_cond: class_tid: 2, em_key_recipe.0:3619*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3701*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19410,19 +20718,23 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3624*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3706*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19430,13 +20742,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE }, - /* field_cond: class_tid: 2, em_key_recipe.0:3628*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3711*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19444,15 +20756,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3632*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3715*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19460,13 +20776,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3635*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3719*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19474,29 +20790,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3639*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3723*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3724*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3728*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW }, - /* field_cond: class_tid: 2, em_key_recipe.0:3642*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3729*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19504,29 +20834,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3646*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3733*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3649*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3737*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19534,15 +20868,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3653*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3741*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19550,13 +20888,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3656*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3745*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19564,15 +20902,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3660*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3749*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19580,13 +20922,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3663*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3753*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19594,15 +20936,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3667*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3757*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19610,13 +20956,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL }, - /* field_cond: class_tid: 2, em_key_recipe.0:3670*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3761*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19624,29 +20970,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3674*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3765*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3677*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3769*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19654,29 +21004,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3681*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3773*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3684*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3777*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19684,16 +21038,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3688*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3781*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19701,15 +21055,19 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3692*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3785*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19717,12 +21075,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3695*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3789*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { @@ -19730,13 +21092,13 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS }, - /* field_cond: class_tid: 2, em_key_recipe.0:3698*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3793*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19744,16 +21106,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3702*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3797*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19761,42 +21123,33 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL - }, - /* field_cond: class_tid: 2, em_key_recipe.0:3706*/ - { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3801*/ { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, - /* field_cond: class_tid: 2, em_key_recipe.0:3709*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3712*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3805*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19804,76 +21157,75 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3716*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3809*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 - }, - { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID - }, - /* field_cond: class_tid: 2, em_key_recipe.0:3720*/ - { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3723*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3814*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3726*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3818*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3730*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3823*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, @@ -19881,39 +21233,65 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT }, - /* field_cond: class_tid: 2, em_key_recipe.0:3734*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3827*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3737*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3830*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, - .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI }, - /* field_cond: class_tid: 2, em_key_recipe.0:3740*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3833*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3836*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3839*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19924,13 +21302,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3843*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3744*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3846*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19941,39 +21332,56 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3748*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3850*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3853*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3751*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3857*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3754*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3860*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -19984,13 +21392,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3864*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC }, - /* field_cond: class_tid: 2, em_key_recipe.0:3758*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3867*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20001,39 +21422,72 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3762*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3872*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3876*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3765*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3881*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3768*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3885*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20044,13 +21498,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3772*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3890*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20061,39 +21519,51 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, em_key_recipe.0:3776*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3895*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3779*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3899*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3782*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3903*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20104,13 +21574,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3786*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3908*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20121,39 +21595,55 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN }, - /* field_cond: class_tid: 2, em_key_recipe.0:3790*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3913*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID }, - /* field_cond: class_tid: 2, em_key_recipe.0:3793*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3917*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3921*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, em_key_recipe.0:3796*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20164,13 +21654,34 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3926*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3930*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, em_key_recipe.0:3800*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20181,39 +21692,60 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3935*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY }, - /* field_cond: class_tid: 2, em_key_recipe.0:3804*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3939*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3807*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3943*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3810*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3946*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20224,13 +21756,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3950*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3814*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3953*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP @@ -20241,983 +21786,14290 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3818*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3957*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_key_recipe.0:3821*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3960*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, - .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, { - .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, - .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR }, - /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:3824*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3964*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR }, - /* cond_execute: class_tid: 2, control.field_sig_validation:3826*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3967*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_CC + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* cond_execute: class_tid: 2, control.outer_loop_add_check:3828*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* cond_execute: class_tid: 2, em.egress_generic_template:3830*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3971*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, - .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3974*/ { .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 2, control.em_add_check:3834*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* cond_execute: class_tid: 2, control.outer_loop_check:3835*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 }, - /* cond_execute: class_tid: 3, control.ing_0:3836*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR }, - /* cond_execute: class_tid: 3, control.non_vfr_egr_2:3837*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3978*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:3838*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 }, { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR }, - /* cond_execute: class_tid: 3, control.default_custom_tunnel:3840*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3981*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_port:3841*/ { .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_ip_port:3842*/ { - .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, - .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr_glb_act_rec_rd.0:3843*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR }, - /* cond_execute: class_tid: 4, control.vf_2_vfr.0:3844*/ + /* field_cond: class_tid: 2, wm_key_recipe.0:3985*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr.0:3845*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 }, - /* cond_execute: class_tid: 4, control.0:3846*/ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS - } -}; - -struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { - /* class_tid: 1, , table: port_table.rd */ + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3988*/ { - .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} - } + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP }, - /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */ { - .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (10 >> 8) & 0xff, - 10 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT - } + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL }, - /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_wr */ { - .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (22 >> 8) & 0xff, - 22 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (1 >> 8) & 0xff, - 1 & 0xff} - } + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 }, - /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3992*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3995*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:3999*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4003*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4006*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4009*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4013*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4017*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4020*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4023*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4026*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4029*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4031*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4033*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4037*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4041*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4044*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4047*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4050*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4053*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4055*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4057*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4061*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4065*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4068*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4071*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4075*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4079*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4082*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4085*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4089*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4093*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4096*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4099*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4103*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4107*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4110*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4113*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4115*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4119*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4123*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4126*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4129*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4131*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4135*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4139*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4142*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4145*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4147*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4151*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4155*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4158*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, wm_key_recipe.0:4161*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + /* field_cond: class_tid: 2, proto_header_cache.wr:4163*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:4165*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, + .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* field_cond: class_tid: 2, em_flow_conflict_cache.rd:4168*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:4170*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4171*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4173*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4175*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4176*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4180*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4184*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4189*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4194*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4199*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4204*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4208*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4212*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4216*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4220*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4224*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4228*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4232*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4236*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4240*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4244*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4248*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4252*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4257*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4261*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4264*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4267*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4271*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4274*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4278*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4281*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4286*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4290*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4295*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4300*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4304*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4308*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4313*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4317*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4321*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4325*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4328*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4331*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4335*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4339*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4342*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4345*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4349*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4353*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4356*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4359*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4363*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4367*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4370*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4373*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4377*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4381*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4384*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4387*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4391*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4395*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4398*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4401*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4405*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4409*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, fkb_select.em_gen_template:4412*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4415*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4417*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_CNTXT_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4419*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4421*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4423*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4424*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4425*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4429*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4433*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4437*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4441*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4446*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4451*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4456*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4461*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4466*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4471*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4476*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4481*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4485*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4489*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4493*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4497*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4501*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4505*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4509*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4513*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4517*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4521*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4525*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4529*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4533*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4537*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4541*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4545*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4549*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4553*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4557*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4561*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4565*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4569*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4573*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4577*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4582*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4586*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4591*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4595*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4598*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4601*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4604*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN_GPE + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4607*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4611*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4614*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_DMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4618*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4621*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4625*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4628*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4632*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4635*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4640*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4644*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4649*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4653*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4658*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4663*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4667*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4671*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_II_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4676*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_II_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_IO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4681*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OI_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4685*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, + .cond_operand = BNXT_ULP_HDR_BIT_OI_VLAN + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_OO_VLAN_VID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4689*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4694*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4698*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_TYPE + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4703*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_L2_ONLY + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_ETH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_TYPE + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4707*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4711*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4714*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4718*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4721*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4725*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4728*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4732*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4735*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4739*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4742*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4746*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4749*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4753*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4756*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4760*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4763*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4767*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4771*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4774*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4777*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4781*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4785*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4788*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_TTL + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4791*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4795*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4799*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4802*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4805*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4809*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4813*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4816*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4819*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4823*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4827*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4830*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4833*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV6_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4837*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_IPV4_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4841*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4844*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV4_QOS + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4847*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4851*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4855*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4858*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4861*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4865*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4869*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4872*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4875*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4879*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4883*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4886*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4889*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4893*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_I_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4897*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_UDP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT + }, + /* field_cond: class_tid: 2, em_key_recipe.0:4900*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET, + .cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_TCP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET, + .cond_operand = BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT + }, + /* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4903*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_GROUP_ID + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP + }, + /* cond_execute: class_tid: 2, control.field_sig_validation:4905*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_FLOW_SIG_ID + }, + /* cond_execute: class_tid: 2, control.outer_loop_add_check:4907*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD + }, + /* cond_execute: class_tid: 2, em.egress_generic_template:4909*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, + .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* cond_execute: class_tid: 2, control.em_add_check:4913*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL + }, + /* cond_execute: class_tid: 2, control.outer_loop_check:4914*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP + }, + /* cond_execute: class_tid: 3, control.prof_func_miss:4915*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 3, control.non_vfr_egr_2:4916*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 3, tunnel_gparse_cache.def_cust_tun_rd:4917*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT + }, + /* cond_execute: class_tid: 3, control.default_custom_tunnel:4919*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_port:4920*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_PORT + }, + /* cond_execute: class_tid: 3, cust_tunnel.def_conf_vxlan_ip_port:4921*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET, + .cond_operand = BNXT_ULP_CF_BIT_STATIC_VXLAN_IP_PORT + }, + /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr_glb_act_rec_rd.0:4922*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 4, control.vf_2_vfr.0:4923*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 4, control.prof_tcam_cache.vfr.0:4924*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 4, control.0:4925*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 5, control.ing_0:4926*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 5, l2_cntxt_tcam_cache.ing_rd_sock:4927*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4928*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam.ing_0:4930*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4932*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* field_cond: class_tid: 5, l2_cntxt_tcam_cache.ing_wr:4934*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET, + .cond_operand = BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT + }, + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* cond_execute: class_tid: 6, control.l2_cache_check:4936*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 6, control.l2_cache_cnt_check:4937*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* cond_execute: class_tid: 7, control.direction_check:4938*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* cond_execute: class_tid: 7, control.flow_chain_group_id:4939*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 7, control.group_miss_action:4940*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all:4941*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, + /* cond_execute: class_tid: 7, control.flow_chain_group_id_egr:4942*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* cond_execute: class_tid: 7, control.group_miss_action_egr:4943*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + }, + /* field_cond: class_tid: 7, profile_tcam_bypass.prof_func_group_catch_all_egr:4944*/ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + } +}; + +struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { + /* class_tid: 1, , table: port_table.rd */ + { + .field_info_mask = { + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + } + }, + /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */ + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (10 >> 8) & 0xff, + 10 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT + } + }, + /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_wr */ + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (22 >> 8) & 0xff, + 22 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (1 >> 8) & 0xff, + 1 & 0xff} + } + }, + /* class_tid: 1, , table: prof_func_cache.ing_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff} + } + }, + /* class_tid: 1, , table: tunnel_cache.f1_f2_wr */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff} + } + }, + /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + /* class_tid: 1, , table: multi_flow_tunnel_cache.rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (42 >> 8) & 0xff, + 42 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (44 >> 8) & 0xff, + 44 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (46 >> 8) & 0xff, + 46 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (48 >> 8) & 0xff, + 48 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (50 >> 8) & 0xff, + 50 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (52 >> 8) & 0xff, + 52 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (54 >> 8) & 0xff, + 54 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (56 >> 8) & 0xff, + 56 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (58 >> 8) & 0xff, + 58 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (60 >> 8) & 0xff, + 60 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (62 >> 8) & 0xff, + 62 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (64 >> 8) & 0xff, + 64 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 1, , table: multi_flow_tunnel_cache.wr */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (67 >> 8) & 0xff, + 67 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (69 >> 8) & 0xff, + 69 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (71 >> 8) & 0xff, + 71 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (73 >> 8) & 0xff, + 73 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (75 >> 8) & 0xff, + 75 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (77 >> 8) & 0xff, + 77 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (79 >> 8) & 0xff, + 79 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (81 >> 8) & 0xff, + 81 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (83 >> 8) & 0xff, + 83 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (85 >> 8) & 0xff, + 85 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (87 >> 8) & 0xff, + 87 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (89 >> 8) & 0xff, + 89 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (91 >> 8) & 0xff, + 91 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (93 >> 8) & 0xff, + 93 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 1, , table: flow_chain_cache.group_check */ + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + } + }, + /* class_tid: 1, , table: flow_chain_cache.write */ + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + } + }, + /* class_tid: 1, , table: flow_chain_l2_cntxt.chaining_check */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (99 >> 8) & 0xff, + 99 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (100 >> 8) & 0xff, + 100 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry */ + { + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, + ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff, + ULP_THOR_SYM_CHAIN_META_VAL & 0xff} + } + }, + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (102 >> 8) & 0xff, + 102 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (103 >> 8) & 0xff, + 103 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + } + }, + { + .field_info_mask = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + } + }, + /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ + { + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, + ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff, + ULP_THOR_SYM_CHAIN_META_VAL & 0xff} + } + }, + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff} + } + }, + { + .field_info_mask = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (105 >> 8) & 0xff, + 105 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (106 >> 8) & 0xff, + 106 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + } + }, + { + .field_info_mask = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + } + }, + /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (107 >> 8) & 0xff, + 107 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (108 >> 8) & 0xff, + 108 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + /* class_tid: 1, , table: mac_addr_cache.rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (111 >> 8) & 0xff, + 111 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (112 >> 8) & 0xff, + 112 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "tun_hdr", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tun_hdr", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "mac_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} + } + }, + { + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (113 >> 8) & 0xff, + 113 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (114 >> 8) & 0xff, + 114 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + (ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff, + ULP_THOR_SYM_CHAIN_META_VAL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry */ + { + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, + ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (119 >> 8) & 0xff, + 119 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (120 >> 8) & 0xff, + 120 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + } + }, + { + .field_info_mask = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 3} + }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + } + }, + /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ + { + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, + ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff} + } + }, + { + .field_info_mask = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (122 >> 8) & 0xff, + 122 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (123 >> 8) & 0xff, + 123 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + } + }, + { + .field_info_mask = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 3} + }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + } + }, + /* class_tid: 1, , table: mac_addr_cache.wr */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (124 >> 8) & 0xff, + 124 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (125 >> 8) & 0xff, + 125 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_HF, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "tun_hdr", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tun_hdr", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "mac_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "mac_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, + BNXT_ULP_RF_IDX_O_DMAC & 0xff} + } + }, + { + .field_info_mask = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (126 >> 8) & 0xff, + 126 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (127 >> 8) & 0xff, + 127 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + (ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff, + ULP_THOR_SYM_CHAIN_META_VAL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 1, , table: proto_header_cache.rd */ + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (155 >> 8) & 0xff, + 155 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + } + }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (158 >> 8) & 0xff, + 158 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ + { + .field_info_mask = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + } + }, + /* class_tid: 1, , table: group_miss_action_cache.rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (162 >> 8) & 0xff, + 162 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 1, , table: wm.ingress_generic_template_grp_catch_all */ + { + .field_info_mask = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (420 >> 8) & 0xff, + 420 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (422 >> 8) & 0xff, + 422 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (424 >> 8) & 0xff, + 424 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (427 >> 8) & 0xff, + 427 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (430 >> 8) & 0xff, + 430 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (431 >> 8) & 0xff, + 431 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (432 >> 8) & 0xff, + 432 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (436 >> 8) & 0xff, + 436 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (440 >> 8) & 0xff, + 440 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (444 >> 8) & 0xff, + 444 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (448 >> 8) & 0xff, + 448 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (453 >> 8) & 0xff, + 453 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (458 >> 8) & 0xff, + 458 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (48 >> 8) & 0xff, + 48 & 0xff} + }, + .field_info_spec = { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (468 >> 8) & 0xff, + 468 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (49 >> 8) & 0xff, + 49 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (478 >> 8) & 0xff, + 478 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (483 >> 8) & 0xff, + 483 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (488 >> 8) & 0xff, + 488 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (492 >> 8) & 0xff, + 492 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (496 >> 8) & 0xff, + 496 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (50 >> 8) & 0xff, + 50 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (501 >> 8) & 0xff, + 501 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (51 >> 8) & 0xff, + 51 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (506 >> 8) & 0xff, + 506 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (510 >> 8) & 0xff, + 510 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (514 >> 8) & 0xff, + 514 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (518 >> 8) & 0xff, + 518 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (522 >> 8) & 0xff, + 522 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (52 >> 8) & 0xff, + 52 & 0xff} + }, + .field_info_spec = { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (530 >> 8) & 0xff, + 530 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (53 >> 8) & 0xff, + 53 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (538 >> 8) & 0xff, + 538 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (54 >> 8) & 0xff, + 54 & 0xff} + }, + .field_info_spec = { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (546 >> 8) & 0xff, + 546 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (55 >> 8) & 0xff, + 55 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (554 >> 8) & 0xff, + 554 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (56 >> 8) & 0xff, + 56 & 0xff} + }, + .field_info_spec = { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (562 >> 8) & 0xff, + 562 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (57 >> 8) & 0xff, + 57 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (570 >> 8) & 0xff, + 570 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (58 >> 8) & 0xff, + 58 & 0xff} + }, + .field_info_spec = { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (578 >> 8) & 0xff, + 578 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (59 >> 8) & 0xff, + 59 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (586 >> 8) & 0xff, + 586 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (60 >> 8) & 0xff, + 60 & 0xff} + }, + .field_info_spec = { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (595 >> 8) & 0xff, + 595 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (61 >> 8) & 0xff, + 61 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (604 >> 8) & 0xff, + 604 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (62 >> 8) & 0xff, + 62 & 0xff} + }, + .field_info_spec = { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (610 >> 8) & 0xff, + 610 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (63 >> 8) & 0xff, + 63 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (616 >> 8) & 0xff, + 616 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (64 >> 8) & 0xff, + 64 & 0xff} + }, + .field_info_spec = { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (623 >> 8) & 0xff, + 623 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (65 >> 8) & 0xff, + 65 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (630 >> 8) & 0xff, + 630 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (66 >> 8) & 0xff, + 66 & 0xff} + }, + .field_info_spec = { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (637 >> 8) & 0xff, + 637 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (67 >> 8) & 0xff, + 67 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (644 >> 8) & 0xff, + 644 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (68 >> 8) & 0xff, + 68 & 0xff} + }, + .field_info_spec = { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (653 >> 8) & 0xff, + 653 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (69 >> 8) & 0xff, + 69 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (662 >> 8) & 0xff, + 662 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (70 >> 8) & 0xff, + 70 & 0xff} + }, + .field_info_spec = { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (680 >> 8) & 0xff, + 680 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (73 >> 8) & 0xff, + 73 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (698 >> 8) & 0xff, + 698 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (76 >> 8) & 0xff, + 76 & 0xff} + }, + .field_info_spec = { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (707 >> 8) & 0xff, + 707 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (77 >> 8) & 0xff, + 77 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (716 >> 8) & 0xff, + 716 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (78 >> 8) & 0xff, + 78 & 0xff} + }, + .field_info_spec = { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (723 >> 8) & 0xff, + 723 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (79 >> 8) & 0xff, + 79 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (730 >> 8) & 0xff, + 730 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (80 >> 8) & 0xff, + 80 & 0xff} + }, + .field_info_spec = { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (737 >> 8) & 0xff, + 737 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (81 >> 8) & 0xff, + 81 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (744 >> 8) & 0xff, + 744 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (82 >> 8) & 0xff, + 82 & 0xff} + }, + .field_info_spec = { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (751 >> 8) & 0xff, + 751 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (83 >> 8) & 0xff, + 83 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (758 >> 8) & 0xff, + 758 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (84 >> 8) & 0xff, + 84 & 0xff} + }, + .field_info_spec = { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (765 >> 8) & 0xff, + 765 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (85 >> 8) & 0xff, + 85 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (772 >> 8) & 0xff, + 772 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (86 >> 8) & 0xff, + 86 & 0xff} + }, + .field_info_spec = { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (786 >> 8) & 0xff, + 786 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (89 >> 8) & 0xff, + 89 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (800 >> 8) & 0xff, + 800 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (92 >> 8) & 0xff, + 92 & 0xff} + }, + .field_info_spec = { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (824 >> 8) & 0xff, + 824 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (99 >> 8) & 0xff, + 99 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (848 >> 8) & 0xff, + 848 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (106 >> 8) & 0xff, + 106 & 0xff} + }, + .field_info_spec = { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (862 >> 8) & 0xff, + 862 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (109 >> 8) & 0xff, + 109 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (876 >> 8) & 0xff, + 876 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (112 >> 8) & 0xff, + 112 & 0xff} + }, + .field_info_spec = { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (892 >> 8) & 0xff, + 892 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (116 >> 8) & 0xff, + 116 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (908 >> 8) & 0xff, + 908 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (120 >> 8) & 0xff, + 120 & 0xff} + }, + .field_info_spec = { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (924 >> 8) & 0xff, + 924 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (124 >> 8) & 0xff, + 124 & 0xff} + } + }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (940 >> 8) & 0xff, + 940 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ + { + .field_info_mask = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + } + }, + /* class_tid: 1, , table: profile_tcam.gen_template */ + { + .field_info_mask = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (959 >> 8) & 0xff, + 959 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (136 >> 8) & 0xff, + 136 & 0xff} + }, + .field_info_spec = { + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (967 >> 8) & 0xff, + 967 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (139 >> 8) & 0xff, + 139 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (975 >> 8) & 0xff, + 975 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (142 >> 8) & 0xff, + 142 & 0xff} + }, + .field_info_spec = { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (983 >> 8) & 0xff, + 983 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (145 >> 8) & 0xff, + 145 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (991 >> 8) & 0xff, + 991 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (148 >> 8) & 0xff, + 148 & 0xff} + }, + .field_info_spec = { + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (999 >> 8) & 0xff, + 999 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (151 >> 8) & 0xff, + 151 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1007 >> 8) & 0xff, + 1007 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (154 >> 8) & 0xff, + 154 & 0xff} + }, + .field_info_spec = { + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1015 >> 8) & 0xff, + 1015 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (157 >> 8) & 0xff, + 157 & 0xff} + } + }, + { + .field_info_mask = { + .description = "ieh", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "ieh", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1023 >> 8) & 0xff, + 1023 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (160 >> 8) & 0xff, + 160 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1031 >> 8) & 0xff, + 1031 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (163 >> 8) & 0xff, + 163 & 0xff} + }, + .field_info_spec = { + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1039 >> 8) & 0xff, + 1039 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (166 >> 8) & 0xff, + 166 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1047 >> 8) & 0xff, + 1047 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (169 >> 8) & 0xff, + 169 & 0xff} + }, + .field_info_spec = { + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1055 >> 8) & 0xff, + 1055 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (172 >> 8) & 0xff, + 172 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1063 >> 8) & 0xff, + 1063 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (175 >> 8) & 0xff, + 175 & 0xff} + }, + .field_info_spec = { + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1071 >> 8) & 0xff, + 1071 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (178 >> 8) & 0xff, + 178 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1079 >> 8) & 0xff, + 1079 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (181 >> 8) & 0xff, + 181 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1085 >> 8) & 0xff, + 1085 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (182 >> 8) & 0xff, + 182 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1091 >> 8) & 0xff, + 1091 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1092 >> 8) & 0xff, + 1092 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1093 >> 8) & 0xff, + 1093 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (183 >> 8) & 0xff, + 183 & 0xff} + }, + .field_info_spec = { + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1097 >> 8) & 0xff, + 1097 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (184 >> 8) & 0xff, + 184 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1101 >> 8) & 0xff, + 1101 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (185 >> 8) & 0xff, + 185 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tun_hdr_flags", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_flags", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1105 >> 8) & 0xff, + 1105 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (186 >> 8) & 0xff, + 186 & 0xff} + }, + .field_info_spec = { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1117 >> 8) & 0xff, + 1117 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (191 >> 8) & 0xff, + 191 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1129 >> 8) & 0xff, + 1129 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1130 >> 8) & 0xff, + 1130 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1131 >> 8) & 0xff, + 1131 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TUN_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1132 >> 8) & 0xff, + 1132 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (196 >> 8) & 0xff, + 196 & 0xff} + }, + .field_info_spec = { + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1136 >> 8) & 0xff, + 1136 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (197 >> 8) & 0xff, + 197 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1140 >> 8) & 0xff, + 1140 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (198 >> 8) & 0xff, + 198 & 0xff} + }, + .field_info_spec = { + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1144 >> 8) & 0xff, + 1144 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (199 >> 8) & 0xff, + 199 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1148 >> 8) & 0xff, + 1148 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (200 >> 8) & 0xff, + 200 & 0xff} + }, + .field_info_spec = { + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1152 >> 8) & 0xff, + 1152 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (201 >> 8) & 0xff, + 201 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1156 >> 8) & 0xff, + 1156 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (202 >> 8) & 0xff, + 202 & 0xff} + }, + .field_info_spec = { + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1161 >> 8) & 0xff, + 1161 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (204 >> 8) & 0xff, + 204 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1166 >> 8) & 0xff, + 1166 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (206 >> 8) & 0xff, + 206 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1170 >> 8) & 0xff, + 1170 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (207 >> 8) & 0xff, + 207 & 0xff} + }, + .field_info_spec = { + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1174 >> 8) & 0xff, + 1174 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (208 >> 8) & 0xff, + 208 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1178 >> 8) & 0xff, + 1178 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (209 >> 8) & 0xff, + 209 & 0xff} + }, + .field_info_spec = { + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1182 >> 8) & 0xff, + 1182 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (210 >> 8) & 0xff, + 210 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1186 >> 8) & 0xff, + 1186 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (211 >> 8) & 0xff, + 211 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1190 >> 8) & 0xff, + 1190 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1193 >> 8) & 0xff, + 1193 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1196 >> 8) & 0xff, + 1196 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1197 >> 8) & 0xff, + 1197 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1198 >> 8) & 0xff, + 1198 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (212 >> 8) & 0xff, + 212 & 0xff} + } + }, + { + .field_info_mask = { + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1202 >> 8) & 0xff, + 1202 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (213 >> 8) & 0xff, + 213 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "pkt_type_0", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "pkt_type_0", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "pkt_type_1", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "pkt_type_1", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + } + }, + /* class_tid: 1, , table: wm_key_recipe.0 */ + { + .field_info_mask = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1206 >> 8) & 0xff, + 1206 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1208 >> 8) & 0xff, + 1208 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1210 >> 8) & 0xff, + 1210 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1213 >> 8) & 0xff, + 1213 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (214 >> 8) & 0xff, + 214 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1217 >> 8) & 0xff, + 1217 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1218 >> 8) & 0xff, + 1218 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1219 >> 8) & 0xff, + 1219 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1223 >> 8) & 0xff, + 1223 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1227 >> 8) & 0xff, + 1227 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1231 >> 8) & 0xff, + 1231 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1235 >> 8) & 0xff, + 1235 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1240 >> 8) & 0xff, + 1240 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1245 >> 8) & 0xff, + 1245 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (215 >> 8) & 0xff, + 215 & 0xff} + }, + .field_info_spec = { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1255 >> 8) & 0xff, + 1255 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (216 >> 8) & 0xff, + 216 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1265 >> 8) & 0xff, + 1265 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1270 >> 8) & 0xff, + 1270 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1275 >> 8) & 0xff, + 1275 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1279 >> 8) & 0xff, + 1279 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1283 >> 8) & 0xff, + 1283 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (217 >> 8) & 0xff, + 217 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1288 >> 8) & 0xff, + 1288 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (218 >> 8) & 0xff, + 218 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1293 >> 8) & 0xff, + 1293 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1297 >> 8) & 0xff, + 1297 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1301 >> 8) & 0xff, + 1301 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1305 >> 8) & 0xff, + 1305 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1309 >> 8) & 0xff, + 1309 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (219 >> 8) & 0xff, + 219 & 0xff} + }, + .field_info_spec = { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1317 >> 8) & 0xff, + 1317 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (220 >> 8) & 0xff, + 220 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1325 >> 8) & 0xff, + 1325 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (221 >> 8) & 0xff, + 221 & 0xff} + }, + .field_info_spec = { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1333 >> 8) & 0xff, + 1333 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (222 >> 8) & 0xff, + 222 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1341 >> 8) & 0xff, + 1341 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (223 >> 8) & 0xff, + 223 & 0xff} + }, + .field_info_spec = { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1349 >> 8) & 0xff, + 1349 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (224 >> 8) & 0xff, + 224 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1357 >> 8) & 0xff, + 1357 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (225 >> 8) & 0xff, + 225 & 0xff} + }, + .field_info_spec = { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1365 >> 8) & 0xff, + 1365 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (226 >> 8) & 0xff, + 226 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1373 >> 8) & 0xff, + 1373 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (227 >> 8) & 0xff, + 227 & 0xff} + }, + .field_info_spec = { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1382 >> 8) & 0xff, + 1382 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (228 >> 8) & 0xff, + 228 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1391 >> 8) & 0xff, + 1391 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (229 >> 8) & 0xff, + 229 & 0xff} + }, + .field_info_spec = { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1397 >> 8) & 0xff, + 1397 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (230 >> 8) & 0xff, + 230 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1403 >> 8) & 0xff, + 1403 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (231 >> 8) & 0xff, + 231 & 0xff} + }, + .field_info_spec = { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1410 >> 8) & 0xff, + 1410 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (232 >> 8) & 0xff, + 232 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1417 >> 8) & 0xff, + 1417 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (233 >> 8) & 0xff, + 233 & 0xff} + }, + .field_info_spec = { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1424 >> 8) & 0xff, + 1424 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (234 >> 8) & 0xff, + 234 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1431 >> 8) & 0xff, + 1431 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (235 >> 8) & 0xff, + 235 & 0xff} + }, + .field_info_spec = { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1440 >> 8) & 0xff, + 1440 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (236 >> 8) & 0xff, + 236 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1449 >> 8) & 0xff, + 1449 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (237 >> 8) & 0xff, + 237 & 0xff} + }, + .field_info_spec = { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1467 >> 8) & 0xff, + 1467 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (240 >> 8) & 0xff, + 240 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1485 >> 8) & 0xff, + 1485 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (243 >> 8) & 0xff, + 243 & 0xff} + }, + .field_info_spec = { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1494 >> 8) & 0xff, + 1494 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (244 >> 8) & 0xff, + 244 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1503 >> 8) & 0xff, + 1503 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (245 >> 8) & 0xff, + 245 & 0xff} + }, + .field_info_spec = { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1510 >> 8) & 0xff, + 1510 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (246 >> 8) & 0xff, + 246 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1517 >> 8) & 0xff, + 1517 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (247 >> 8) & 0xff, + 247 & 0xff} + }, + .field_info_spec = { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1524 >> 8) & 0xff, + 1524 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (248 >> 8) & 0xff, + 248 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1531 >> 8) & 0xff, + 1531 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (249 >> 8) & 0xff, + 249 & 0xff} + }, + .field_info_spec = { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1538 >> 8) & 0xff, + 1538 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (250 >> 8) & 0xff, + 250 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1545 >> 8) & 0xff, + 1545 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (251 >> 8) & 0xff, + 251 & 0xff} + }, + .field_info_spec = { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1552 >> 8) & 0xff, + 1552 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (252 >> 8) & 0xff, + 252 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1559 >> 8) & 0xff, + 1559 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (253 >> 8) & 0xff, + 253 & 0xff} + }, + .field_info_spec = { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1573 >> 8) & 0xff, + 1573 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (256 >> 8) & 0xff, + 256 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1587 >> 8) & 0xff, + 1587 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (259 >> 8) & 0xff, + 259 & 0xff} + }, + .field_info_spec = { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1611 >> 8) & 0xff, + 1611 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (266 >> 8) & 0xff, + 266 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1635 >> 8) & 0xff, + 1635 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (273 >> 8) & 0xff, + 273 & 0xff} + }, + .field_info_spec = { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1649 >> 8) & 0xff, + 1649 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (276 >> 8) & 0xff, + 276 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1663 >> 8) & 0xff, + 1663 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (279 >> 8) & 0xff, + 279 & 0xff} + }, + .field_info_spec = { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1679 >> 8) & 0xff, + 1679 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (283 >> 8) & 0xff, + 283 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1695 >> 8) & 0xff, + 1695 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (287 >> 8) & 0xff, + 287 & 0xff} + }, + .field_info_spec = { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1711 >> 8) & 0xff, + 1711 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (291 >> 8) & 0xff, + 291 & 0xff} + } + }, + /* class_tid: 1, , table: proto_header_cache.wr */ + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1727 >> 8) & 0xff, + 1727 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + } + }, + /* class_tid: 1, , table: em_flow_conflict_cache.rd */ + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1732 >> 8) & 0xff, + 1732 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + } + }, + /* class_tid: 1, , table: em_key_recipe.0 */ + { + .field_info_mask = { + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1982 >> 8) & 0xff, + 1982 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1984 >> 8) & 0xff, + 1984 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1986 >> 8) & 0xff, + 1986 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (1988 >> 8) & 0xff, + 1988 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1990 >> 8) & 0xff, + 1990 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1991 >> 8) & 0xff, + 1991 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1992 >> 8) & 0xff, + 1992 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1997 >> 8) & 0xff, + 1997 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2002 >> 8) & 0xff, + 2002 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2006 >> 8) & 0xff, + 2006 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2010 >> 8) & 0xff, + 2010 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2015 >> 8) & 0xff, + 2015 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2020 >> 8) & 0xff, + 2020 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (332 >> 8) & 0xff, + 332 & 0xff} + }, + .field_info_spec = { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2030 >> 8) & 0xff, + 2030 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (333 >> 8) & 0xff, + 333 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2040 >> 8) & 0xff, + 2040 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2045 >> 8) & 0xff, + 2045 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2050 >> 8) & 0xff, + 2050 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2054 >> 8) & 0xff, + 2054 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2058 >> 8) & 0xff, + 2058 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2062 >> 8) & 0xff, + 2062 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2066 >> 8) & 0xff, + 2066 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2070 >> 8) & 0xff, + 2070 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2074 >> 8) & 0xff, + 2074 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2078 >> 8) & 0xff, + 2078 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2082 >> 8) & 0xff, + 2082 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (334 >> 8) & 0xff, + 334 & 0xff} + }, + .field_info_spec = { + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2090 >> 8) & 0xff, + 2090 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (335 >> 8) & 0xff, + 335 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2098 >> 8) & 0xff, + 2098 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (336 >> 8) & 0xff, + 336 & 0xff} + }, + .field_info_spec = { + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2106 >> 8) & 0xff, + 2106 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (337 >> 8) & 0xff, + 337 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2114 >> 8) & 0xff, + 2114 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (338 >> 8) & 0xff, + 338 & 0xff} + }, + .field_info_spec = { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2122 >> 8) & 0xff, + 2122 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (339 >> 8) & 0xff, + 339 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2130 >> 8) & 0xff, + 2130 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (340 >> 8) & 0xff, + 340 & 0xff} + }, + .field_info_spec = { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2138 >> 8) & 0xff, + 2138 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (341 >> 8) & 0xff, + 341 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2146 >> 8) & 0xff, + 2146 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (342 >> 8) & 0xff, + 342 & 0xff} + }, + .field_info_spec = { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2155 >> 8) & 0xff, + 2155 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (343 >> 8) & 0xff, + 343 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2164 >> 8) & 0xff, + 2164 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (344 >> 8) & 0xff, + 344 & 0xff} + }, + .field_info_spec = { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2170 >> 8) & 0xff, + 2170 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (345 >> 8) & 0xff, + 345 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2176 >> 8) & 0xff, + 2176 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (346 >> 8) & 0xff, + 346 & 0xff} + }, + .field_info_spec = { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2185 >> 8) & 0xff, + 2185 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (347 >> 8) & 0xff, + 347 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2194 >> 8) & 0xff, + 2194 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (348 >> 8) & 0xff, + 348 & 0xff} + }, + .field_info_spec = { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2201 >> 8) & 0xff, + 2201 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (349 >> 8) & 0xff, + 349 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2208 >> 8) & 0xff, + 2208 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (350 >> 8) & 0xff, + 350 & 0xff} + }, + .field_info_spec = { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2217 >> 8) & 0xff, + 2217 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (351 >> 8) & 0xff, + 351 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2226 >> 8) & 0xff, + 2226 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (352 >> 8) & 0xff, + 352 & 0xff} + }, + .field_info_spec = { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2244 >> 8) & 0xff, + 2244 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (355 >> 8) & 0xff, + 355 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2262 >> 8) & 0xff, + 2262 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (358 >> 8) & 0xff, + 358 & 0xff} + }, + .field_info_spec = { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2271 >> 8) & 0xff, + 2271 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (359 >> 8) & 0xff, + 359 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2280 >> 8) & 0xff, + 2280 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (360 >> 8) & 0xff, + 360 & 0xff} + }, + .field_info_spec = { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2287 >> 8) & 0xff, + 2287 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (361 >> 8) & 0xff, + 361 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2294 >> 8) & 0xff, + 2294 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (362 >> 8) & 0xff, + 362 & 0xff} + }, + .field_info_spec = { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2301 >> 8) & 0xff, + 2301 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (363 >> 8) & 0xff, + 363 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2308 >> 8) & 0xff, + 2308 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (364 >> 8) & 0xff, + 364 & 0xff} + }, + .field_info_spec = { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2315 >> 8) & 0xff, + 2315 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (365 >> 8) & 0xff, + 365 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2322 >> 8) & 0xff, + 2322 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (366 >> 8) & 0xff, + 366 & 0xff} + }, + .field_info_spec = { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2329 >> 8) & 0xff, + 2329 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (367 >> 8) & 0xff, + 367 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2336 >> 8) & 0xff, + 2336 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (368 >> 8) & 0xff, + 368 & 0xff} + }, + .field_info_spec = { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2350 >> 8) & 0xff, + 2350 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (371 >> 8) & 0xff, + 371 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2364 >> 8) & 0xff, + 2364 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (374 >> 8) & 0xff, + 374 & 0xff} + }, + .field_info_spec = { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2378 >> 8) & 0xff, + 2378 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (377 >> 8) & 0xff, + 377 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2392 >> 8) & 0xff, + 2392 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (380 >> 8) & 0xff, + 380 & 0xff} + }, + .field_info_spec = { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2406 >> 8) & 0xff, + 2406 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (383 >> 8) & 0xff, + 383 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2420 >> 8) & 0xff, + 2420 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (386 >> 8) & 0xff, + 386 & 0xff} + }, + .field_info_spec = { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2434 >> 8) & 0xff, + 2434 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (389 >> 8) & 0xff, + 389 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2448 >> 8) & 0xff, + 2448 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (392 >> 8) & 0xff, + 392 & 0xff} + }, + .field_info_spec = { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2462 >> 8) & 0xff, + 2462 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (395 >> 8) & 0xff, + 395 & 0xff} + } + }, + /* class_tid: 1, , table: em_flow_conflict_cache.wr */ + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2476 >> 8) & 0xff, + 2476 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + } + }, + /* class_tid: 2, , table: l2_cntxt_tcam_cache.rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + /* class_tid: 2, , table: multi_flow_tunnel_cache.rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2512 >> 8) & 0xff, + 2512 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2514 >> 8) & 0xff, + 2514 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2516 >> 8) & 0xff, + 2516 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2518 >> 8) & 0xff, + 2518 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2520 >> 8) & 0xff, + 2520 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2522 >> 8) & 0xff, + 2522 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2524 >> 8) & 0xff, + 2524 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2526 >> 8) & 0xff, + 2526 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2528 >> 8) & 0xff, + 2528 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2530 >> 8) & 0xff, + 2530 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2532 >> 8) & 0xff, + 2532 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2534 >> 8) & 0xff, + 2534 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2536 >> 8) & 0xff, + 2536 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2538 >> 8) & 0xff, + 2538 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 2, , table: multi_flow_tunnel_cache.wr */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "tunnel_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2541 >> 8) & 0xff, + 2541 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2543 >> 8) & 0xff, + 2543 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2545 >> 8) & 0xff, + 2545 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2547 >> 8) & 0xff, + 2547 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2549 >> 8) & 0xff, + 2549 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2551 >> 8) & 0xff, + 2551 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2553 >> 8) & 0xff, + 2553 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2555 >> 8) & 0xff, + 2555 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2557 >> 8) & 0xff, + 2557 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_dip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2559 >> 8) & 0xff, + 2559 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2561 >> 8) & 0xff, + 2561 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sip_v4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2563 >> 8) & 0xff, + 2563 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2565 >> 8) & 0xff, + 2565 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tunnel_sport", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2567 >> 8) & 0xff, + 2567 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 2, , table: flow_chain_cache.group_check */ + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + } + }, + /* class_tid: 2, , table: flow_chain_cache.write */ + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + } + }, + /* class_tid: 2, , table: proto_header_cache.rd */ + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2579 >> 8) & 0xff, + 2579 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + } + }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ + { + .field_info_mask = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2582 >> 8) & 0xff, + 2582 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + } + }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ + { + .field_info_mask = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + } + }, + /* class_tid: 2, , table: group_miss_action_cache.rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + } + }, + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2586 >> 8) & 0xff, + 2586 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 2, , table: wm.egress_generic_template_grp_catch_all */ + { + .field_info_mask = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "wc_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2847 >> 8) & 0xff, + 2847 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2849 >> 8) & 0xff, + 2849 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2851 >> 8) & 0xff, + 2851 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (2854 >> 8) & 0xff, + 2854 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2857 >> 8) & 0xff, + 2857 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2858 >> 8) & 0xff, + 2858 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2859 >> 8) & 0xff, + 2859 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2863 >> 8) & 0xff, + 2863 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2867 >> 8) & 0xff, + 2867 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (441 >> 8) & 0xff, + 441 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2874 >> 8) & 0xff, + 2874 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (442 >> 8) & 0xff, + 442 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2881 >> 8) & 0xff, + 2881 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2886 >> 8) & 0xff, + 2886 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2891 >> 8) & 0xff, + 2891 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (443 >> 8) & 0xff, + 443 & 0xff} + }, + .field_info_spec = { + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2901 >> 8) & 0xff, + 2901 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (444 >> 8) & 0xff, + 444 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2911 >> 8) & 0xff, + 2911 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2916 >> 8) & 0xff, + 2916 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2921 >> 8) & 0xff, + 2921 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2925 >> 8) & 0xff, + 2925 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2929 >> 8) & 0xff, + 2929 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (445 >> 8) & 0xff, + 445 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2934 >> 8) & 0xff, + 2934 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (446 >> 8) & 0xff, + 446 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2939 >> 8) & 0xff, + 2939 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2943 >> 8) & 0xff, + 2943 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2947 >> 8) & 0xff, + 2947 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (2951 >> 8) & 0xff, + 2951 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (2955 >> 8) & 0xff, + 2955 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (447 >> 8) & 0xff, + 447 & 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (2963 >> 8) & 0xff, + 2963 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (448 >> 8) & 0xff, + 448 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_id", + .description = "tl3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (2971 >> 8) & 0xff, + 2971 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (449 >> 8) & 0xff, + 449 & 0xff} }, .field_info_spec = { - .description = "tunnel_id", + .description = "tl3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff} + (2979 >> 8) & 0xff, + 2979 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (450 >> 8) & 0xff, + 450 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2987 >> 8) & 0xff, + 2987 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (451 >> 8) & 0xff, + 451 & 0xff} + }, + .field_info_spec = { + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2995 >> 8) & 0xff, + 2995 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (452 >> 8) & 0xff, + 452 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3003 >> 8) & 0xff, + 3003 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (453 >> 8) & 0xff, + 453 & 0xff} + }, + .field_info_spec = { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3011 >> 8) & 0xff, + 3011 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (454 >> 8) & 0xff, + 454 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3019 >> 8) & 0xff, + 3019 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (455 >> 8) & 0xff, + 455 & 0xff} + }, + .field_info_spec = { + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3028 >> 8) & 0xff, + 3028 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (456 >> 8) & 0xff, + 456 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3037 >> 8) & 0xff, + 3037 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (457 >> 8) & 0xff, + 457 & 0xff} + }, + .field_info_spec = { + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3043 >> 8) & 0xff, + 3043 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (458 >> 8) & 0xff, + 458 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3049 >> 8) & 0xff, + 3049 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (459 >> 8) & 0xff, + 459 & 0xff} + }, + .field_info_spec = { + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3056 >> 8) & 0xff, + 3056 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (460 >> 8) & 0xff, + 460 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3063 >> 8) & 0xff, + 3063 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (461 >> 8) & 0xff, + 461 & 0xff} + }, + .field_info_spec = { + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3070 >> 8) & 0xff, + 3070 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (462 >> 8) & 0xff, + 462 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3077 >> 8) & 0xff, + 3077 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (463 >> 8) & 0xff, + 463 & 0xff} + }, + .field_info_spec = { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3086 >> 8) & 0xff, + 3086 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (464 >> 8) & 0xff, + 464 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3095 >> 8) & 0xff, + 3095 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (465 >> 8) & 0xff, + 465 & 0xff} + }, + .field_info_spec = { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3113 >> 8) & 0xff, + 3113 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (468 >> 8) & 0xff, + 468 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3131 >> 8) & 0xff, + 3131 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (471 >> 8) & 0xff, + 471 & 0xff} + }, + .field_info_spec = { + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3140 >> 8) & 0xff, + 3140 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (472 >> 8) & 0xff, + 472 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3149 >> 8) & 0xff, + 3149 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (473 >> 8) & 0xff, + 473 & 0xff} + }, + .field_info_spec = { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3156 >> 8) & 0xff, + 3156 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (474 >> 8) & 0xff, + 474 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3163 >> 8) & 0xff, + 3163 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (475 >> 8) & 0xff, + 475 & 0xff} + }, + .field_info_spec = { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3170 >> 8) & 0xff, + 3170 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (476 >> 8) & 0xff, + 476 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3177 >> 8) & 0xff, + 3177 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (477 >> 8) & 0xff, + 477 & 0xff} + }, + .field_info_spec = { + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3184 >> 8) & 0xff, + 3184 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (478 >> 8) & 0xff, + 478 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3191 >> 8) & 0xff, + 3191 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (479 >> 8) & 0xff, + 479 & 0xff} + }, + .field_info_spec = { + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3198 >> 8) & 0xff, + 3198 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (480 >> 8) & 0xff, + 480 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3205 >> 8) & 0xff, + 3205 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (481 >> 8) & 0xff, + 481 & 0xff} + }, + .field_info_spec = { + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3219 >> 8) & 0xff, + 3219 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (484 >> 8) & 0xff, + 484 & 0xff} } }, - /* class_tid: 1, , table: tunnel_cache.f1_f2_wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3233 >> 8) & 0xff, + 3233 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (487 >> 8) & 0xff, + 487 & 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3257 >> 8) & 0xff, + 3257 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (494 >> 8) & 0xff, + 494 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_id", + .description = "l3.qos", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3281 >> 8) & 0xff, + 3281 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (501 >> 8) & 0xff, + 501 & 0xff} }, .field_info_spec = { - .description = "tunnel_id", + .description = "l3.qos", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff} + (3295 >> 8) & 0xff, + 3295 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (504 >> 8) & 0xff, + 504 & 0xff} } }, - /* class_tid: 1, , table: multi_flow_tunnel_cache.rd */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3309 >> 8) & 0xff, + 3309 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (507 >> 8) & 0xff, + 507 & 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3325 >> 8) & 0xff, + 3325 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (511 >> 8) & 0xff, + 511 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3341 >> 8) & 0xff, + 3341 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (515 >> 8) & 0xff, + 515 & 0xff} }, .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, + (3357 >> 8) & 0xff, + 3357 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (519 >> 8) & 0xff, + 519 & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "tunnel_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "group_metadata", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (40 >> 8) & 0xff, - 40 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, .field_info_spec = { - .description = "tunnel_smac", - .field_bit_size = 48, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (42 >> 8) & 0xff, - 42 & 0xff, + (3373 >> 8) & 0xff, + 3373 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_dmac", - .field_bit_size = 48, + .description = "prof_func_id", + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "tunnel_dmac", - .field_bit_size = 48, + .description = "prof_func_id", + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, - BNXT_ULP_RF_IDX_O_DMAC & 0xff} + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, + /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (44 >> 8) & 0xff, - 44 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (46 >> 8) & 0xff, - 46 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} } }, + /* class_tid: 2, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (48 >> 8) & 0xff, - 48 & 0xff, + (3392 >> 8) & 0xff, + 3392 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (531 >> 8) & 0xff, + 531 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (50 >> 8) & 0xff, - 50 & 0xff, + (3400 >> 8) & 0xff, + 3400 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (534 >> 8) & 0xff, + 534 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (52 >> 8) & 0xff, - 52 & 0xff, + (3408 >> 8) & 0xff, + 3408 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (537 >> 8) & 0xff, + 537 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (54 >> 8) & 0xff, - 54 & 0xff, + (3416 >> 8) & 0xff, + 3416 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (540 >> 8) & 0xff, + 540 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (56 >> 8) & 0xff, - 56 & 0xff, + (3424 >> 8) & 0xff, + 3424 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (543 >> 8) & 0xff, + 543 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, + .description = "l4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (58 >> 8) & 0xff, - 58 & 0xff, + (3432 >> 8) & 0xff, + 3432 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (546 >> 8) & 0xff, + 546 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sport", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (60 >> 8) & 0xff, - 60 & 0xff, + (3440 >> 8) & 0xff, + 3440 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (549 >> 8) & 0xff, + 549 & 0xff} }, .field_info_spec = { - .description = "tunnel_sport", - .field_bit_size = 16, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (62 >> 8) & 0xff, - 62 & 0xff, + (3448 >> 8) & 0xff, + 3448 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (552 >> 8) & 0xff, + 552 & 0xff} } }, - /* class_tid: 1, , table: multi_flow_tunnel_cache.wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "ieh", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "ieh", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 4, + .description = "l3_ipv6_cmp_dst", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, - .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tunnel_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (65 >> 8) & 0xff, - 65 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (67 >> 8) & 0xff, - 67 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (69 >> 8) & 0xff, - 69 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (71 >> 8) & 0xff, - 71 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (73 >> 8) & 0xff, - 73 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (75 >> 8) & 0xff, - 75 & 0xff, + (3456 >> 8) & 0xff, + 3456 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (555 >> 8) & 0xff, + 555 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (77 >> 8) & 0xff, - 77 & 0xff, + (3464 >> 8) & 0xff, + 3464 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (558 >> 8) & 0xff, + 558 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (79 >> 8) & 0xff, - 79 & 0xff, + (3472 >> 8) & 0xff, + 3472 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (561 >> 8) & 0xff, + 561 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (81 >> 8) & 0xff, - 81 & 0xff, + (3480 >> 8) & 0xff, + 3480 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (564 >> 8) & 0xff, + 564 & 0xff} }, .field_info_spec = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (83 >> 8) & 0xff, - 83 & 0xff, + (3488 >> 8) & 0xff, + 3488 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (567 >> 8) & 0xff, + 567 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (85 >> 8) & 0xff, - 85 & 0xff, + (3496 >> 8) & 0xff, + 3496 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (570 >> 8) & 0xff, + 570 & 0xff} }, .field_info_spec = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (87 >> 8) & 0xff, - 87 & 0xff, + (3504 >> 8) & 0xff, + 3504 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (573 >> 8) & 0xff, + 573 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_sport", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (89 >> 8) & 0xff, - 89 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, .field_info_spec = { - .description = "tunnel_sport", - .field_bit_size = 16, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (91 >> 8) & 0xff, - 91 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, + (3512 >> 8) & 0xff, + 3512 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + ULP_THOR_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (576 >> 8) & 0xff, + 576 & 0xff} } }, - /* class_tid: 1, , table: flow_chain_cache.group_check */ { .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + (3518 >> 8) & 0xff, + 3518 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (577 >> 8) & 0xff, + 577 & 0xff} } }, - /* class_tid: 1, , table: flow_chain_cache.write */ { .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, + .description = "l2_uc_mc_bc", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, + .description = "l2_uc_mc_bc", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + (3524 >> 8) & 0xff, + 3524 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3525 >> 8) & 0xff, + 3525 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: flow_chain_l2_cntxt.chaining_check */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3526 >> 8) & 0xff, + 3526 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (578 >> 8) & 0xff, + 578 & 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3530 >> 8) & 0xff, + 3530 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (579 >> 8) & 0xff, + 579 & 0xff} } }, - /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry */ { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3534 >> 8) & 0xff, + 3534 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (580 >> 8) & 0xff, + 580 & 0xff} } }, { .field_info_mask = { - .description = "l2_ivlan_tpid_sel", + .description = "tun_hdr_flags", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivlan_tpid_sel", + .description = "tun_hdr_flags", .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -21225,223 +36077,444 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3538 >> 8) & 0xff, + 3538 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (581 >> 8) & 0xff, + 581 & 0xff} }, .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3550 >> 8) & 0xff, + 3550 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (586 >> 8) & 0xff, + 586 & 0xff} } }, { .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3562 >> 8) & 0xff, + 3562 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3563 >> 8) & 0xff, + 3563 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3564 >> 8) & 0xff, + 3564 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TUN_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "two_vtags", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3565 >> 8) & 0xff, + 3565 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (591 >> 8) & 0xff, + 591 & 0xff} }, .field_info_spec = { - .description = "two_vtags", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3569 >> 8) & 0xff, + 3569 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (592 >> 8) & 0xff, + 592 & 0xff} } }, { .field_info_mask = { - .description = "vtag_present", + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3573 >> 8) & 0xff, + 3573 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (593 >> 8) & 0xff, + 593 & 0xff} + }, + .field_info_spec = { + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3577 >> 8) & 0xff, + 3577 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (594 >> 8) & 0xff, + 594 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3581 >> 8) & 0xff, + 3581 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (595 >> 8) & 0xff, + 595 & 0xff} }, .field_info_spec = { - .description = "vtag_present", + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3585 >> 8) & 0xff, + 3585 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (596 >> 8) & 0xff, + 596 & 0xff} } }, { .field_info_mask = { - .description = "mac1_addr", - .field_bit_size = 48, + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3589 >> 8) & 0xff, + 3589 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (597 >> 8) & 0xff, + 597 & 0xff} + }, + .field_info_spec = { + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3594 >> 8) & 0xff, + 3594 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (599 >> 8) & 0xff, + 599 & 0xff} + } + }, + { + .field_info_mask = { + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "mac1_addr", - .field_bit_size = 48, + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "mac0_addr", - .field_bit_size = 48, + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "mac0_addr", - .field_bit_size = 48, + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 24, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3599 >> 8) & 0xff, + 3599 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (601 >> 8) & 0xff, + 601 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_type", + .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3603 >> 8) & 0xff, + 3603 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (602 >> 8) & 0xff, + 602 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_type", + .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3607 >> 8) & 0xff, + 3607 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (603 >> 8) & 0xff, + 603 & 0xff} } }, { .field_info_mask = { - .description = "llc", + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3611 >> 8) & 0xff, + 3611 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (604 >> 8) & 0xff, + 604 & 0xff} }, .field_info_spec = { - .description = "llc", + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3615 >> 8) & 0xff, + 3615 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (605 >> 8) & 0xff, + 605 & 0xff} } }, { .field_info_mask = { - .description = "roce", + .description = "tl3_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 1} + 0xff} }, .field_info_spec = { - .description = "roce", + .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3619 >> 8) & 0xff, + 3619 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (606 >> 8) & 0xff, + 606 & 0xff} } }, { .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, + .description = "tl2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, - ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff} + 0xff} }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff, - ULP_THOR_SYM_CHAIN_META_VAL & 0xff} + (3623 >> 8) & 0xff, + 3623 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tl2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - { - .field_info_mask = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + (3626 >> 8) & 0xff, + 3626 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "spif", + .description = "tl2_uc_mc_bc", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "spif", + .description = "tl2_uc_mc_bc", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -21449,744 +36522,1401 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "recycle_cnt", + .description = "tl2_hdr_type", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (98 >> 8) & 0xff, - 98 & 0xff, + (3629 >> 8) & 0xff, + 3629 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", + .description = "tl2_hdr_type", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (99 >> 8) & 0xff, - 99 & 0xff, + (3630 >> 8) & 0xff, + 3630 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3631 >> 8) & 0xff, + 3631 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "valid", + .description = "hrec_next", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "valid", + .description = "hrec_next", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "prof_func_id", + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "prof_func_id", + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, - /* class_tid: 1, , table: mac_addr_cache.rd */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "agg_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "agg_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr", - .field_bit_size = 4, + .description = "metadata", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "tun_hdr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3633 >> 8) & 0xff, + 3633 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (607 >> 8) & 0xff, + 607 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "one_tag", - .field_bit_size = 1, + .description = "pkt_type_0", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "one_tag", - .field_bit_size = 1, + .description = "pkt_type_0", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "vid", - .field_bit_size = 12, + .description = "pkt_type_1", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { - .description = "vid", - .field_bit_size = 12, + .description = "pkt_type_1", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "mac_addr", - .field_bit_size = 48, + .description = "valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + 1} }, .field_info_spec = { - .description = "mac_addr", - .field_bit_size = 48, + .description = "valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, - BNXT_ULP_RF_IDX_O_DMAC & 0xff} + 1} } }, + /* class_tid: 2, , table: wm_key_recipe.0 */ { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, + .description = "wc_profile_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, 0xff} }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, + .description = "wc_profile_id", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3636 >> 8) & 0xff, + 3636 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "l2_cntxt_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (102 >> 8) & 0xff, - 102 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (3638 >> 8) & 0xff, + 3638 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "metadata", + .description = "meta", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - 0xff, - 0xff} + (3640 >> 8) & 0xff, + 3640 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "metadata", + .description = "meta", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (103 >> 8) & 0xff, - 103 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (3643 >> 8) & 0xff, + 3643 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff, - ULP_THOR_SYM_CHAIN_META_VAL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (608 >> 8) & 0xff, + 608 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry */ { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3647 >> 8) & 0xff, + 3647 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3648 >> 8) & 0xff, + 3648 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3649 >> 8) & 0xff, + 3649 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3653 >> 8) & 0xff, + 3653 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ivlan_vid", + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3657 >> 8) & 0xff, + 3657 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (609 >> 8) & 0xff, + 609 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3664 >> 8) & 0xff, + 3664 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (610 >> 8) & 0xff, + 610 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "tl2_ovv", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3671 >> 8) & 0xff, + 3671 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_ivlan_vid", + .description = "tl2_ovv", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3676 >> 8) & 0xff, + 3676 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3681 >> 8) & 0xff, + 3681 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (611 >> 8) & 0xff, + 611 & 0xff} }, .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3691 >> 8) & 0xff, + 3691 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (612 >> 8) & 0xff, + 612 & 0xff} } }, { .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3701 >> 8) & 0xff, + 3701 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3706 >> 8) & 0xff, + 3706 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3711 >> 8) & 0xff, + 3711 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3715 >> 8) & 0xff, + 3715 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3719 >> 8) & 0xff, + 3719 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (613 >> 8) & 0xff, + 613 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3724 >> 8) & 0xff, + 3724 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (614 >> 8) & 0xff, + 614 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3729 >> 8) & 0xff, + 3729 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3733 >> 8) & 0xff, + 3733 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (3737 >> 8) & 0xff, + 3737 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, - BNXT_ULP_RF_IDX_O_DMAC & 0xff} + (3741 >> 8) & 0xff, + 3741 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3745 >> 8) & 0xff, + 3745 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (615 >> 8) & 0xff, + 615 & 0xff} }, .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3753 >> 8) & 0xff, + 3753 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (616 >> 8) & 0xff, + 616 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3761 >> 8) & 0xff, + 3761 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (617 >> 8) & 0xff, + 617 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3769 >> 8) & 0xff, + 3769 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (618 >> 8) & 0xff, + 618 & 0xff} } }, { .field_info_mask = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3777 >> 8) & 0xff, + 3777 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (619 >> 8) & 0xff, + 619 & 0xff} }, .field_info_spec = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3785 >> 8) & 0xff, + 3785 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (620 >> 8) & 0xff, + 620 & 0xff} } }, { .field_info_mask = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 1} + (3793 >> 8) & 0xff, + 3793 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (621 >> 8) & 0xff, + 621 & 0xff} }, .field_info_spec = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3801 >> 8) & 0xff, + 3801 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (622 >> 8) & 0xff, + 622 & 0xff} } }, { .field_info_mask = { - .description = "metadata", + .description = "tl4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (ULP_THOR_SYM_CHAIN_META_VAL_MASK >> 8) & 0xff, - ULP_THOR_SYM_CHAIN_META_VAL_MASK & 0xff} + (3809 >> 8) & 0xff, + 3809 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (623 >> 8) & 0xff, + 623 & 0xff} }, .field_info_spec = { - .description = "metadata", + .description = "tl4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3818 >> 8) & 0xff, + 3818 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (624 >> 8) & 0xff, + 624 & 0xff} } }, { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3827 >> 8) & 0xff, + 3827 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (625 >> 8) & 0xff, + 625 & 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3833 >> 8) & 0xff, + 3833 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (626 >> 8) & 0xff, + 626 & 0xff} } }, { .field_info_mask = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3839 >> 8) & 0xff, + 3839 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (627 >> 8) & 0xff, + 627 & 0xff} }, .field_info_spec = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3846 >> 8) & 0xff, + 3846 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (628 >> 8) & 0xff, + 628 & 0xff} } }, { .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3853 >> 8) & 0xff, + 3853 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (629 >> 8) & 0xff, + 629 & 0xff} }, .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3860 >> 8) & 0xff, + 3860 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (630 >> 8) & 0xff, + 630 & 0xff} } }, { .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3867 >> 8) & 0xff, + 3867 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (631 >> 8) & 0xff, + 631 & 0xff} }, .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3876 >> 8) & 0xff, + 3876 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (632 >> 8) & 0xff, + 632 & 0xff} } }, { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (108 >> 8) & 0xff, - 108 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (3885 >> 8) & 0xff, + 3885 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (633 >> 8) & 0xff, + 633 & 0xff} }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (109 >> 8) & 0xff, - 109 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + (3903 >> 8) & 0xff, + 3903 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (636 >> 8) & 0xff, + 636 & 0xff} } }, { .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 3} + (3921 >> 8) & 0xff, + 3921 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (639 >> 8) & 0xff, + 639 & 0xff} }, .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3930 >> 8) & 0xff, + 3930 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (640 >> 8) & 0xff, + 640 & 0xff} } }, { .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 1} + (3939 >> 8) & 0xff, + 3939 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (641 >> 8) & 0xff, + 641 & 0xff} }, .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 1} + (3946 >> 8) & 0xff, + 3946 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (642 >> 8) & 0xff, + 642 & 0xff} } }, - /* class_tid: 1, , table: mac_addr_cache.wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3953 >> 8) & 0xff, + 3953 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (643 >> 8) & 0xff, + 643 & 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + (3960 >> 8) & 0xff, + 3960 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (644 >> 8) & 0xff, + 644 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (3967 >> 8) & 0xff, + 3967 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (645 >> 8) & 0xff, + 645 & 0xff} }, .field_info_spec = { - .description = "tun_hdr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3974 >> 8) & 0xff, + 3974 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (646 >> 8) & 0xff, + 646 & 0xff} } }, { .field_info_mask = { - .description = "one_tag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3981 >> 8) & 0xff, + 3981 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (647 >> 8) & 0xff, + 647 & 0xff} }, .field_info_spec = { - .description = "one_tag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3988 >> 8) & 0xff, + 3988 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (648 >> 8) & 0xff, + 648 & 0xff} } }, { .field_info_mask = { - .description = "vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3995 >> 8) & 0xff, + 3995 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (649 >> 8) & 0xff, + 649 & 0xff} }, .field_info_spec = { - .description = "vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4009 >> 8) & 0xff, + 4009 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (652 >> 8) & 0xff, + 652 & 0xff} } }, { .field_info_mask = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (4023 >> 8) & 0xff, + 4023 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (655 >> 8) & 0xff, + 655 & 0xff} }, .field_info_spec = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff, - BNXT_ULP_RF_IDX_O_DMAC & 0xff} + (4047 >> 8) & 0xff, + 4047 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_IP_PROTO_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (662 >> 8) & 0xff, + 662 & 0xff} } }, { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff} + (4071 >> 8) & 0xff, + 4071 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (669 >> 8) & 0xff, + 669 & 0xff} }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4085 >> 8) & 0xff, + 4085 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (672 >> 8) & 0xff, + 672 & 0xff} } }, { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4099 >> 8) & 0xff, + 4099 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (675 >> 8) & 0xff, + 675 & 0xff} }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (110 >> 8) & 0xff, - 110 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (4115 >> 8) & 0xff, + 4115 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (679 >> 8) & 0xff, + 679 & 0xff} } }, { .field_info_mask = { - .description = "metadata", + .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff} + (4131 >> 8) & 0xff, + 4131 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (683 >> 8) & 0xff, + 683 & 0xff} }, .field_info_spec = { - .description = "metadata", + .description = "l4.dst", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (111 >> 8) & 0xff, - 111 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4147 >> 8) & 0xff, + 4147 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - (ULP_THOR_SYM_CHAIN_META_VAL >> 8) & 0xff, - ULP_THOR_SYM_CHAIN_META_VAL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (687 >> 8) & 0xff, + 687 & 0xff} } }, - /* class_tid: 1, , table: proto_header_cache.rd */ + /* class_tid: 2, , table: proto_header_cache.wr */ { .field_info_mask = { .description = "group_metadata", @@ -22202,13 +37932,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (139 >> 8) & 0xff, - 139 & 0xff, + (4163 >> 8) & 0xff, + 4163 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -22257,7 +37988,21 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ + /* class_tid: 2, , table: em_flow_conflict_cache.rd */ + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, { .field_info_mask = { .description = "group_metadata", @@ -22273,13 +38018,14 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (142 >> 8) & 0xff, - 142 & 0xff, + (4168 >> 8) & 0xff, + 4168 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -22302,7 +38048,6 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { .description = "hdr_bitmap", @@ -22325,1085 +38070,1369 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + } + }, + /* class_tid: 2, , table: em_key_recipe.0 */ + { + .field_info_mask = { + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4415 >> 8) & 0xff, + 4415 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4417 >> 8) & 0xff, + 4417 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (4419 >> 8) & 0xff, + 4419 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (4421 >> 8) & 0xff, + 4421 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + } + }, + { + .field_info_mask = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4423 >> 8) & 0xff, + 4423 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + .field_info_spec = { + .description = "rcyc_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4424 >> 8) & 0xff, + 4424 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, + BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4425 >> 8) & 0xff, + 4425 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "tl2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (400 >> 8) & 0xff, - 400 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4429 >> 8) & 0xff, + 4429 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4433 >> 8) & 0xff, + 4433 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (4437 >> 8) & 0xff, + 4437 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (4441 >> 8) & 0xff, + 4441 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .description = "tl2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + (4446 >> 8) & 0xff, + 4446 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, - /* class_tid: 1, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (419 >> 8) & 0xff, - 419 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4451 >> 8) & 0xff, + 4451 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (56 >> 8) & 0xff, - 56 & 0xff} + (728 >> 8) & 0xff, + 728 & 0xff} }, .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (427 >> 8) & 0xff, - 427 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4461 >> 8) & 0xff, + 4461 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (59 >> 8) & 0xff, - 59 & 0xff} + (729 >> 8) & 0xff, + 729 & 0xff} } }, { .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (435 >> 8) & 0xff, - 435 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4471 >> 8) & 0xff, + 4471 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (62 >> 8) & 0xff, - 62 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "tl2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (443 >> 8) & 0xff, - 443 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (65 >> 8) & 0xff, - 65 & 0xff} + (4476 >> 8) & 0xff, + 4476 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (451 >> 8) & 0xff, - 451 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4481 >> 8) & 0xff, + 4481 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (68 >> 8) & 0xff, - 68 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "tl3.sip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (459 >> 8) & 0xff, - 459 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (71 >> 8) & 0xff, - 71 & 0xff} + (4485 >> 8) & 0xff, + 4485 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "tl3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (467 >> 8) & 0xff, - 467 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4489 >> 8) & 0xff, + 4489 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (74 >> 8) & 0xff, - 74 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "tl3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (475 >> 8) & 0xff, - 475 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4493 >> 8) & 0xff, + 4493 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (77 >> 8) & 0xff, - 77 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "ieh", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4497 >> 8) & 0xff, + 4497 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "ieh", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4501 >> 8) & 0xff, + 4501 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4505 >> 8) & 0xff, + 4505 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, .field_info_spec = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4509 >> 8) & 0xff, + 4509 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP } }, { .field_info_mask = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4513 >> 8) & 0xff, + 4513 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (730 >> 8) & 0xff, + 730 & 0xff} }, .field_info_spec = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4521 >> 8) & 0xff, + 4521 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (731 >> 8) & 0xff, + 731 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4529 >> 8) & 0xff, + 4529 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (732 >> 8) & 0xff, + 732 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "tl3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (483 >> 8) & 0xff, - 483 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4537 >> 8) & 0xff, + 4537 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (80 >> 8) & 0xff, - 80 & 0xff} + (733 >> 8) & 0xff, + 733 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "tl3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (491 >> 8) & 0xff, - 491 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4545 >> 8) & 0xff, + 4545 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (83 >> 8) & 0xff, - 83 & 0xff} + (734 >> 8) & 0xff, + 734 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "tl3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (499 >> 8) & 0xff, - 499 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4553 >> 8) & 0xff, + 4553 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (86 >> 8) & 0xff, - 86 & 0xff} + (735 >> 8) & 0xff, + 735 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (507 >> 8) & 0xff, - 507 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4561 >> 8) & 0xff, + 4561 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (89 >> 8) & 0xff, - 89 & 0xff} + (736 >> 8) & 0xff, + 736 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (515 >> 8) & 0xff, - 515 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (4569 >> 8) & 0xff, + 4569 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (92 >> 8) & 0xff, - 92 & 0xff} + (737 >> 8) & 0xff, + 737 & 0xff} } }, { .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "tl4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (523 >> 8) & 0xff, - 523 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4577 >> 8) & 0xff, + 4577 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (95 >> 8) & 0xff, - 95 & 0xff} + (738 >> 8) & 0xff, + 738 & 0xff} }, .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "tl4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (531 >> 8) & 0xff, - 531 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4586 >> 8) & 0xff, + 4586 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (98 >> 8) & 0xff, - 98 & 0xff} + (739 >> 8) & 0xff, + 739 & 0xff} } }, { .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4595 >> 8) & 0xff, + 4595 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (740 >> 8) & 0xff, + 740 & 0xff} }, .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (539 >> 8) & 0xff, - 539 & 0xff, + (4601 >> 8) & 0xff, + 4601 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L2_TWO_VTAGS_YES}, + (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (101 >> 8) & 0xff, - 101 & 0xff} + (741 >> 8) & 0xff, + 741 & 0xff} } }, { .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4607 >> 8) & 0xff, + 4607 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (742 >> 8) & 0xff, + 742 & 0xff} }, .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (545 >> 8) & 0xff, - 545 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4614 >> 8) & 0xff, + 4614 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, + (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (102 >> 8) & 0xff, - 102 & 0xff} + (743 >> 8) & 0xff, + 743 & 0xff} } }, { .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4621 >> 8) & 0xff, + 4621 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (744 >> 8) & 0xff, + 744 & 0xff} }, .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4628 >> 8) & 0xff, + 4628 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (745 >> 8) & 0xff, + 745 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (551 >> 8) & 0xff, - 551 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (4635 >> 8) & 0xff, + 4635 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (746 >> 8) & 0xff, + 746 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, + .description = "l2_ovv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (552 >> 8) & 0xff, - 552 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (4644 >> 8) & 0xff, + 4644 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (747 >> 8) & 0xff, + 747 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (553 >> 8) & 0xff, - 553 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4653 >> 8) & 0xff, + 4653 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (103 >> 8) & 0xff, - 103 & 0xff} + (748 >> 8) & 0xff, + 748 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (557 >> 8) & 0xff, - 557 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (4671 >> 8) & 0xff, + 4671 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (104 >> 8) & 0xff, - 104 & 0xff} + (751 >> 8) & 0xff, + 751 & 0xff} } }, { .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4689 >> 8) & 0xff, + 4689 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (754 >> 8) & 0xff, + 754 & 0xff} }, .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (561 >> 8) & 0xff, - 561 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4698 >> 8) & 0xff, + 4698 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L2_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (105 >> 8) & 0xff, - 105 & 0xff} + (755 >> 8) & 0xff, + 755 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4707 >> 8) & 0xff, + 4707 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (756 >> 8) & 0xff, + 756 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4714 >> 8) & 0xff, + 4714 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (757 >> 8) & 0xff, + 757 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (565 >> 8) & 0xff, - 565 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4721 >> 8) & 0xff, + 4721 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (106 >> 8) & 0xff, - 106 & 0xff} + (758 >> 8) & 0xff, + 758 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (577 >> 8) & 0xff, - 577 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (4728 >> 8) & 0xff, + 4728 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (111 >> 8) & 0xff, - 111 & 0xff} + (759 >> 8) & 0xff, + 759 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (589 >> 8) & 0xff, - 589 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, + (4735 >> 8) & 0xff, + 4735 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (760 >> 8) & 0xff, + 760 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (590 >> 8) & 0xff, - 590 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (4742 >> 8) & 0xff, + 4742 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (761 >> 8) & 0xff, + 761 & 0xff} } }, { .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (4749 >> 8) & 0xff, + 4749 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (762 >> 8) & 0xff, + 762 & 0xff} }, .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (591 >> 8) & 0xff, - 591 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4756 >> 8) & 0xff, + 4756 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_TUN_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (763 >> 8) & 0xff, + 763 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (592 >> 8) & 0xff, - 592 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4763 >> 8) & 0xff, + 4763 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (116 >> 8) & 0xff, - 116 & 0xff} + (764 >> 8) & 0xff, + 764 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (596 >> 8) & 0xff, - 596 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4777 >> 8) & 0xff, + 4777 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (117 >> 8) & 0xff, - 117 & 0xff} + (767 >> 8) & 0xff, + 767 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (600 >> 8) & 0xff, - 600 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4791 >> 8) & 0xff, + 4791 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (118 >> 8) & 0xff, - 118 & 0xff} + (770 >> 8) & 0xff, + 770 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (604 >> 8) & 0xff, - 604 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (4805 >> 8) & 0xff, + 4805 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (119 >> 8) & 0xff, - 119 & 0xff} + (773 >> 8) & 0xff, + 773 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_error", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (608 >> 8) & 0xff, - 608 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4819 >> 8) & 0xff, + 4819 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (120 >> 8) & 0xff, - 120 & 0xff} + (776 >> 8) & 0xff, + 776 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_error", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (612 >> 8) & 0xff, - 612 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (4833 >> 8) & 0xff, + 4833 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (121 >> 8) & 0xff, - 121 & 0xff} + (779 >> 8) & 0xff, + 779 & 0xff} } }, { .field_info_mask = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (616 >> 8) & 0xff, - 616 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (4847 >> 8) & 0xff, + 4847 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (122 >> 8) & 0xff, - 122 & 0xff} + (782 >> 8) & 0xff, + 782 & 0xff} }, .field_info_spec = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (621 >> 8) & 0xff, - 621 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (4861 >> 8) & 0xff, + 4861 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_TL4_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (124 >> 8) & 0xff, - 124 & 0xff} + (785 >> 8) & 0xff, + 785 & 0xff} } }, { .field_info_mask = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4875 >> 8) & 0xff, + 4875 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (788 >> 8) & 0xff, + 788 & 0xff} }, .field_info_spec = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4889 >> 8) & 0xff, + 4889 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (791 >> 8) & 0xff, + 791 & 0xff} } }, + /* class_tid: 2, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "tl3_ipv6_cmp_src", - .field_bit_size = 1, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3_ipv6_cmp_src", - .field_bit_size = 1, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, + .description = "group_metadata", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (626 >> 8) & 0xff, - 626 & 0xff, + (4903 >> 8) & 0xff, + 4903 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, .field_opr2 = { - ULP_THOR_SYM_TL3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (126 >> 8) & 0xff, - 126 & 0xff} + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (630 >> 8) & 0xff, - 630 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (127 >> 8) & 0xff, - 127 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (634 >> 8) & 0xff, - 634 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (128 >> 8) & 0xff, - 128 & 0xff} + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (638 >> 8) & 0xff, - 638 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (129 >> 8) & 0xff, - 129 & 0xff} + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "hdr_bitmap", + .field_bit_size = 64, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (642 >> 8) & 0xff, - 642 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (130 >> 8) & 0xff, - 130 & 0xff} + (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, + BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} } }, + /* class_tid: 3, , table: port_table.ing_wr_0 */ { .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, + .description = "dev.port_id", + .field_bit_size = 10, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (646 >> 8) & 0xff, - 646 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (131 >> 8) & 0xff, - 131 & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, + /* class_tid: 3, , table: prof_func_cache.ing_rd */ { .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (650 >> 8) & 0xff, - 650 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, + /* class_tid: 3, , table: profile_tcam.prof_func_catch_all */ { .field_info_mask = { - .description = "tl2_vtag_present", + .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_vtag_present", + .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (653 >> 8) & 0xff, - 653 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, + .description = "l4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (656 >> 8) & 0xff, - 656 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "ieh", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (657 >> 8) & 0xff, - 657 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "ieh", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_hdr_valid", + .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_hdr_valid", + .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (658 >> 8) & 0xff, - 658 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (132 >> 8) & 0xff, - 132 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hrec_next", + .description = "l3_ipv6_cmp_src", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hrec_next", + .description = "l3_ipv6_cmp_src", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -23411,3379 +39440,1574 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "agg_error", - .field_bit_size = 1, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "agg_error", - .field_bit_size = 1, + .description = "l3_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, + .description = "l3_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (0xf000 >> 8) & 0xff, - 0xf000 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (662 >> 8) & 0xff, - 662 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "pkt_type_0", - .field_bit_size = 2, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "pkt_type_0", - .field_bit_size = 2, + .description = "l3_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "pkt_type_1", - .field_bit_size = 2, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "pkt_type_1", - .field_bit_size = 2, + .description = "l2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "valid", + .description = "l2_vtag_present", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "valid", + .description = "l2_vtag_present", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: wm_key_recipe.0 */ { .field_info_mask = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "l2_uc_mc_bc", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "l2_uc_mc_bc", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (664 >> 8) & 0xff, - 664 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (666 >> 8) & 0xff, - 666 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (668 >> 8) & 0xff, - 668 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (670 >> 8) & 0xff, - 670 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (672 >> 8) & 0xff, - 672 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (673 >> 8) & 0xff, - 673 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (674 >> 8) & 0xff, - 674 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tun_hdr_flags", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (678 >> 8) & 0xff, - 678 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tun_hdr_flags", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (682 >> 8) & 0xff, - 682 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (686 >> 8) & 0xff, - 686 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (690 >> 8) & 0xff, - 690 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (695 >> 8) & 0xff, - 695 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (700 >> 8) & 0xff, - 700 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (133 >> 8) & 0xff, - 133 & 0xff} + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (710 >> 8) & 0xff, - 710 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (134 >> 8) & 0xff, - 134 & 0xff} + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (720 >> 8) & 0xff, - 720 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (725 >> 8) & 0xff, - 725 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (730 >> 8) & 0xff, - 730 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (734 >> 8) & 0xff, - 734 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (738 >> 8) & 0xff, - 738 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (135 >> 8) & 0xff, - 135 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (743 >> 8) & 0xff, - 743 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (136 >> 8) & 0xff, - 136 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (748 >> 8) & 0xff, - 748 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (752 >> 8) & 0xff, - 752 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (756 >> 8) & 0xff, - 756 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (760 >> 8) & 0xff, - 760 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (764 >> 8) & 0xff, - 764 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (137 >> 8) & 0xff, - 137 & 0xff} + .description = "tl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (772 >> 8) & 0xff, - 772 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (138 >> 8) & 0xff, - 138 & 0xff} + .description = "tl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (780 >> 8) & 0xff, - 780 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (139 >> 8) & 0xff, - 139 & 0xff} + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (788 >> 8) & 0xff, - 788 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (140 >> 8) & 0xff, - 140 & 0xff} + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (796 >> 8) & 0xff, - 796 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (141 >> 8) & 0xff, - 141 & 0xff} + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (804 >> 8) & 0xff, - 804 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (142 >> 8) & 0xff, - 142 & 0xff} + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (812 >> 8) & 0xff, - 812 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (143 >> 8) & 0xff, - 143 & 0xff} + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (820 >> 8) & 0xff, - 820 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (144 >> 8) & 0xff, - 144 & 0xff} + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (828 >> 8) & 0xff, - 828 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (145 >> 8) & 0xff, - 145 & 0xff} + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (837 >> 8) & 0xff, - 837 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (146 >> 8) & 0xff, - 146 & 0xff} + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (846 >> 8) & 0xff, - 846 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (147 >> 8) & 0xff, - 147 & 0xff} + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (852 >> 8) & 0xff, - 852 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (148 >> 8) & 0xff, - 148 & 0xff} + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (858 >> 8) & 0xff, - 858 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (149 >> 8) & 0xff, - 149 & 0xff} + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (865 >> 8) & 0xff, - 865 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (150 >> 8) & 0xff, - 150 & 0xff} + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (872 >> 8) & 0xff, - 872 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (151 >> 8) & 0xff, - 151 & 0xff} + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (879 >> 8) & 0xff, - 879 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (152 >> 8) & 0xff, - 152 & 0xff} + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (886 >> 8) & 0xff, - 886 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (153 >> 8) & 0xff, - 153 & 0xff} + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (895 >> 8) & 0xff, - 895 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (154 >> 8) & 0xff, - 154 & 0xff} + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (904 >> 8) & 0xff, - 904 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (155 >> 8) & 0xff, - 155 & 0xff} + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (922 >> 8) & 0xff, - 922 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (158 >> 8) & 0xff, - 158 & 0xff} + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (940 >> 8) & 0xff, - 940 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (161 >> 8) & 0xff, - 161 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (949 >> 8) & 0xff, - 949 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (162 >> 8) & 0xff, - 162 & 0xff} + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (958 >> 8) & 0xff, - 958 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (163 >> 8) & 0xff, - 163 & 0xff} + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (965 >> 8) & 0xff, - 965 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (164 >> 8) & 0xff, - 164 & 0xff} + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (972 >> 8) & 0xff, - 972 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (165 >> 8) & 0xff, - 165 & 0xff} + .description = "pkt_type_0", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (979 >> 8) & 0xff, - 979 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (166 >> 8) & 0xff, - 166 & 0xff} + .description = "pkt_type_0", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (986 >> 8) & 0xff, - 986 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (167 >> 8) & 0xff, - 167 & 0xff} + .description = "pkt_type_1", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (993 >> 8) & 0xff, - 993 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (168 >> 8) & 0xff, - 168 & 0xff} + .description = "pkt_type_1", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (1000 >> 8) & 0xff, - 1000 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (169 >> 8) & 0xff, - 169 & 0xff} + 1} }, .field_info_spec = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (1007 >> 8) & 0xff, - 1007 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (170 >> 8) & 0xff, - 170 & 0xff} + 1} } }, + /* class_tid: 3, , table: prof_func_cache.ing_wr */ { .field_info_mask = { - .description = "l3.ttl", + .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1014 >> 8) & 0xff, - 1014 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (171 >> 8) & 0xff, - 171 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l3.ttl", + .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (1028 >> 8) & 0xff, - 1028 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (174 >> 8) & 0xff, - 174 & 0xff} + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, + /* class_tid: 3, , table: port_table.egr_wr_0 */ { .field_info_mask = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1042 >> 8) & 0xff, - 1042 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (177 >> 8) & 0xff, - 177 & 0xff} + 0xff, + 0xff} }, .field_info_spec = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "dev.port_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (1066 >> 8) & 0xff, - 1066 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_IP_PROTO_TCP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (184 >> 8) & 0xff, - 184 & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, + /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_rd */ { .field_info_mask = { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1090 >> 8) & 0xff, - 1090 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (191 >> 8) & 0xff, - 191 & 0xff} + 0xff, + 0xff} }, .field_info_spec = { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (1104 >> 8) & 0xff, - 1104 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (194 >> 8) & 0xff, - 194 & 0xff} + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, + /* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_egr_0 */ { .field_info_mask = { - .description = "l4.src", + .description = "etype", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1118 >> 8) & 0xff, - 1118 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (197 >> 8) & 0xff, - 197 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.src", + .description = "etype", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1134 >> 8) & 0xff, - 1134 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (201 >> 8) & 0xff, - 201 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1150 >> 8) & 0xff, - 1150 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (205 >> 8) & 0xff, - 205 & 0xff} + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1166 >> 8) & 0xff, - 1166 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (209 >> 8) & 0xff, - 209 & 0xff} + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: proto_header_cache.wr */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "l2_ivlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1182 >> 8) & 0xff, - 1182 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 3}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ovlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ovlan_vid", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: em_flow_conflict_cache.rd */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1187 >> 8) & 0xff, - 1187 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "mac1_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "mac1_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "mac0_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "mac0_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "tunnel_id", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "tunnel_id", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1437 >> 8) & 0xff, - 1437 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1439 >> 8) & 0xff, - 1439 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1441 >> 8) & 0xff, - 1441 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1443 >> 8) & 0xff, - 1443 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (1445 >> 8) & 0xff, - 1445 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 1} }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1446 >> 8) & 0xff, - 1446 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1447 >> 8) & 0xff, - 1447 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1452 >> 8) & 0xff, - 1452 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1457 >> 8) & 0xff, - 1457 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 0xff, + 0xff} }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (1461 >> 8) & 0xff, - 1461 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1465 >> 8) & 0xff, - 1465 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1470 >> 8) & 0xff, - 1470 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1475 >> 8) & 0xff, - 1475 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (250 >> 8) & 0xff, - 250 & 0xff} + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1485 >> 8) & 0xff, - 1485 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (251 >> 8) & 0xff, - 251 & 0xff} + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1495 >> 8) & 0xff, - 1495 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1500 >> 8) & 0xff, - 1500 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1505 >> 8) & 0xff, - 1505 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1509 >> 8) & 0xff, - 1509 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1513 >> 8) & 0xff, - 1513 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1517 >> 8) & 0xff, - 1517 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (1521 >> 8) & 0xff, - 1521 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 1} }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (1525 >> 8) & 0xff, - 1525 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 1} } }, + /* class_tid: 3, , table: profile_tcam.non_vfr_prof_func_egr_catch_all */ { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1529 >> 8) & 0xff, - 1529 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1533 >> 8) & 0xff, - 1533 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1537 >> 8) & 0xff, - 1537 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (252 >> 8) & 0xff, - 252 & 0xff} + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1545 >> 8) & 0xff, - 1545 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (253 >> 8) & 0xff, - 253 & 0xff} + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1553 >> 8) & 0xff, - 1553 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (254 >> 8) & 0xff, - 254 & 0xff} + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1561 >> 8) & 0xff, - 1561 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (255 >> 8) & 0xff, - 255 & 0xff} + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1569 >> 8) & 0xff, - 1569 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (256 >> 8) & 0xff, - 256 & 0xff} + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1577 >> 8) & 0xff, - 1577 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (257 >> 8) & 0xff, - 257 & 0xff} + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1585 >> 8) & 0xff, - 1585 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (258 >> 8) & 0xff, - 258 & 0xff} + .description = "ieh", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1593 >> 8) & 0xff, - 1593 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (259 >> 8) & 0xff, - 259 & 0xff} + .description = "ieh", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1601 >> 8) & 0xff, - 1601 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (260 >> 8) & 0xff, - 260 & 0xff} + .description = "l3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1610 >> 8) & 0xff, - 1610 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (261 >> 8) & 0xff, - 261 & 0xff} + .description = "l3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1619 >> 8) & 0xff, - 1619 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (262 >> 8) & 0xff, - 262 & 0xff} + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1625 >> 8) & 0xff, - 1625 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (263 >> 8) & 0xff, - 263 & 0xff} + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1631 >> 8) & 0xff, - 1631 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (264 >> 8) & 0xff, - 264 & 0xff} + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1640 >> 8) & 0xff, - 1640 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (265 >> 8) & 0xff, - 265 & 0xff} + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1649 >> 8) & 0xff, - 1649 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (266 >> 8) & 0xff, - 266 & 0xff} + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1656 >> 8) & 0xff, - 1656 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (267 >> 8) & 0xff, - 267 & 0xff} + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1663 >> 8) & 0xff, - 1663 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (268 >> 8) & 0xff, - 268 & 0xff} + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1672 >> 8) & 0xff, - 1672 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (269 >> 8) & 0xff, - 269 & 0xff} + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1681 >> 8) & 0xff, - 1681 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (270 >> 8) & 0xff, - 270 & 0xff} + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1699 >> 8) & 0xff, - 1699 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (273 >> 8) & 0xff, - 273 & 0xff} + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1717 >> 8) & 0xff, - 1717 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (276 >> 8) & 0xff, - 276 & 0xff} + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1726 >> 8) & 0xff, - 1726 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (277 >> 8) & 0xff, - 277 & 0xff} + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1735 >> 8) & 0xff, - 1735 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (278 >> 8) & 0xff, - 278 & 0xff} + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1742 >> 8) & 0xff, - 1742 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (279 >> 8) & 0xff, - 279 & 0xff} + .description = "l2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1749 >> 8) & 0xff, - 1749 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (280 >> 8) & 0xff, - 280 & 0xff} + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1756 >> 8) & 0xff, - 1756 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (281 >> 8) & 0xff, - 281 & 0xff} + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1763 >> 8) & 0xff, - 1763 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (282 >> 8) & 0xff, - 282 & 0xff} + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1770 >> 8) & 0xff, - 1770 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (283 >> 8) & 0xff, - 283 & 0xff} + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1777 >> 8) & 0xff, - 1777 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (284 >> 8) & 0xff, - 284 & 0xff} + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1784 >> 8) & 0xff, - 1784 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (285 >> 8) & 0xff, - 285 & 0xff} + .description = "l2_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1791 >> 8) & 0xff, - 1791 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (286 >> 8) & 0xff, - 286 & 0xff} + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1805 >> 8) & 0xff, - 1805 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (289 >> 8) & 0xff, - 289 & 0xff} + .description = "l2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1819 >> 8) & 0xff, - 1819 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (292 >> 8) & 0xff, - 292 & 0xff} + .description = "tun_hdr_flags", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1833 >> 8) & 0xff, - 1833 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (295 >> 8) & 0xff, - 295 & 0xff} + .description = "tun_hdr_flags", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1847 >> 8) & 0xff, - 1847 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (298 >> 8) & 0xff, - 298 & 0xff} + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1861 >> 8) & 0xff, - 1861 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (301 >> 8) & 0xff, - 301 & 0xff} + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1875 >> 8) & 0xff, - 1875 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (304 >> 8) & 0xff, - 304 & 0xff} + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1889 >> 8) & 0xff, - 1889 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (307 >> 8) & 0xff, - 307 & 0xff} + .field_info_spec = { + .description = "tun_hdr_err", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1903 >> 8) & 0xff, - 1903 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (310 >> 8) & 0xff, - 310 & 0xff} + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1917 >> 8) & 0xff, - 1917 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (313 >> 8) & 0xff, - 313 & 0xff} + .description = "tun_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 1, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "group_metadata", + .description = "tl4_hdr_type", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", + .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1931 >> 8) & 0xff, - 1931 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "tl4_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "tl4_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: l2_cntxt_tcam_cache.rd */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: multi_flow_tunnel_cache.rd */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 4, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, - .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1967 >> 8) & 0xff, - 1967 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1969 >> 8) & 0xff, - 1969 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1971 >> 8) & 0xff, - 1971 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1973 >> 8) & 0xff, - 1973 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1975 >> 8) & 0xff, - 1975 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1977 >> 8) & 0xff, - 1977 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1979 >> 8) & 0xff, - 1979 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1981 >> 8) & 0xff, - 1981 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1983 >> 8) & 0xff, - 1983 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1985 >> 8) & 0xff, - 1985 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1987 >> 8) & 0xff, - 1987 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1989 >> 8) & 0xff, - 1989 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_sport", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1991 >> 8) & 0xff, - 1991 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_sport", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1993 >> 8) & 0xff, - 1993 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: multi_flow_tunnel_cache.wr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "tl2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 4, + .description = "hrec_next", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, - .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, - .field_opr1 = { - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (1996 >> 8) & 0xff, - 1996 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff} }, .field_info_spec = { - .description = "tunnel_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (1998 >> 8) & 0xff, - 1998 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tunnel_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2000 >> 8) & 0xff, - 2000 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2002 >> 8) & 0xff, - 2002 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2004 >> 8) & 0xff, - 2004 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_dip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2006 >> 8) & 0xff, - 2006 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2008 >> 8) & 0xff, - 2008 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "pkt_type_0", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_sip_v6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2010 >> 8) & 0xff, - 2010 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "pkt_type_0", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2012 >> 8) & 0xff, - 2012 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "pkt_type_1", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_dip_v4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2014 >> 8) & 0xff, - 2014 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "pkt_type_1", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (2016 >> 8) & 0xff, - 2016 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1} }, .field_info_spec = { - .description = "tunnel_sip_v4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (2018 >> 8) & 0xff, - 2018 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1} } }, + /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ { .field_info_mask = { - .description = "tunnel_sport", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2020 >> 8) & 0xff, - 2020 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 0xff, + 0xff} }, .field_info_spec = { - .description = "tunnel_sport", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (2022 >> 8) & 0xff, - 2022 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, - /* class_tid: 2, , table: flow_chain_cache.group_check */ + /* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_rd */ { .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, + .description = "tunnel_type", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, + .description = "tunnel_type", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN} } }, - /* class_tid: 2, , table: flow_chain_cache.write */ + /* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_wr */ { .field_info_mask = { - .description = "group_id", - .field_bit_size = 32, + .description = "tunnel_type", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "group_id", - .field_bit_size = 32, + .description = "tunnel_type", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN} } }, - /* class_tid: 2, , table: proto_header_cache.rd */ + /* class_tid: 4, , table: profile_tcam_cache.vfr_glb_act_rec_rd */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (2034 >> 8) & 0xff, - 2034 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1} } }, { @@ -26799,62 +41023,43 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .description = "prof_func_id", .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff} } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "hdr_sig_id", + .field_bit_size = 6, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "hdr_sig_id", + .field_bit_size = 6, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ + /* class_tid: 4, , table: profile_tcam_cache.vfr_glb_act_rec_wr */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (2037 >> 8) & 0xff, - 2037 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1} } }, { @@ -26870,854 +41075,455 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .description = "prof_func_id", .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff} } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_check */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "hdr_sig_id", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "hdr_sig_id", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_rd_egr */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ + /* class_tid: 4, , table: l2_cntxt_tcam_cache.get_drv_func_prof_func */ { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (2298 >> 8) & 0xff, - 2298 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, + /* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */ { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: profile_tcam.gen_template */ { .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2317 >> 8) & 0xff, - 2317 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (367 >> 8) & 0xff, - 367 & 0xff} + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2325 >> 8) & 0xff, - 2325 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (370 >> 8) & 0xff, - 370 & 0xff} + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2333 >> 8) & 0xff, - 2333 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (373 >> 8) & 0xff, - 373 & 0xff} + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2341 >> 8) & 0xff, - 2341 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (376 >> 8) & 0xff, - 376 & 0xff} + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2349 >> 8) & 0xff, - 2349 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (379 >> 8) & 0xff, - 379 & 0xff} + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2357 >> 8) & 0xff, - 2357 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (382 >> 8) & 0xff, - 382 & 0xff} + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4_hdr_valid", + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2365 >> 8) & 0xff, - 2365 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (385 >> 8) & 0xff, - 385 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4_hdr_valid", + .description = "two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2373 >> 8) & 0xff, - 2373 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (388 >> 8) & 0xff, - 388 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "ieh", - .field_bit_size = 8, + .description = "vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "ieh", - .field_bit_size = 8, + .description = "vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, + .description = "mac1_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, + .description = "mac1_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, + .description = "mac0_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, + .description = "mac0_addr", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "tunnel_id", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2381 >> 8) & 0xff, - 2381 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (391 >> 8) & 0xff, - 391 & 0xff} + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_type", + .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2389 >> 8) & 0xff, - 2389 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (394 >> 8) & 0xff, - 394 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_hdr_type", + .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2397 >> 8) & 0xff, - 2397 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (397 >> 8) & 0xff, - 397 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_error", + .description = "llc", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2405 >> 8) & 0xff, - 2405 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (400 >> 8) & 0xff, - 400 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3_hdr_error", + .description = "llc", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2413 >> 8) & 0xff, - 2413 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (403 >> 8) & 0xff, - 403 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3_hdr_valid", + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (2421 >> 8) & 0xff, - 2421 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (406 >> 8) & 0xff, - 406 & 0xff} + 1} }, .field_info_spec = { - .description = "l3_hdr_valid", + .description = "roce", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2429 >> 8) & 0xff, - 2429 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (409 >> 8) & 0xff, - 409 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "metadata", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2437 >> 8) & 0xff, - 2437 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (412 >> 8) & 0xff, - 412 & 0xff} + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (2443 >> 8) & 0xff, - 2443 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (413 >> 8) & 0xff, - 413 & 0xff} + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} } }, { .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, + .description = "parif", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, + .description = "parif", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_hdr_type", + .description = "spif", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2449 >> 8) & 0xff, - 2449 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_hdr_type", + .description = "spif", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2450 >> 8) & 0xff, - 2450 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2451 >> 8) & 0xff, - 2451 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (414 >> 8) & 0xff, - 414 & 0xff} - }, - .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2455 >> 8) & 0xff, - 2455 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (415 >> 8) & 0xff, - 415 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_hdr_valid", + .description = "loopback", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_hdr_valid", + .description = "loopback", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2459 >> 8) & 0xff, - 2459 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (416 >> 8) & 0xff, - 416 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 3, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 3, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2463 >> 8) & 0xff, - 2463 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (417 >> 8) & 0xff, - 417 & 0xff} - }, - .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2475 >> 8) & 0xff, - 2475 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (422 >> 8) & 0xff, - 422 & 0xff} - } - }, - { - .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2487 >> 8) & 0xff, - 2487 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2488 >> 8) & 0xff, - 2488 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_valid", + .description = "valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - 0xff} + 1} }, .field_info_spec = { - .description = "tun_hdr_valid", + .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (2489 >> 8) & 0xff, - 2489 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TUN_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + 1} } }, + /* class_tid: 4, , table: profile_tcam.prof_func_catch_all */ { .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", + .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2490 >> 8) & 0xff, - 2490 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (427 >> 8) & 0xff, - 427 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", + .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2494 >> 8) & 0xff, - 2494 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (428 >> 8) & 0xff, - 428 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_type", + .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2498 >> 8) & 0xff, - 2498 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (429 >> 8) & 0xff, - 429 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_type", + .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2502 >> 8) & 0xff, - 2502 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (430 >> 8) & 0xff, - 430 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_error", + .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2506 >> 8) & 0xff, - 2506 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (431 >> 8) & 0xff, - 431 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_error", + .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2510 >> 8) & 0xff, - 2510 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (432 >> 8) & 0xff, - 432 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4_hdr_valid", + .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2514 >> 8) & 0xff, - 2514 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (433 >> 8) & 0xff, - 433 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4_hdr_valid", + .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2519 >> 8) & 0xff, - 2519 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (435 >> 8) & 0xff, - 435 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, + .description = "ieh", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, + .description = "ieh", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_ipv6_cmp_src", + .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3_ipv6_cmp_src", + .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -27725,256 +41531,139 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "tl3_hdr_isIP", + .description = "l3_ipv6_cmp_src", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2524 >> 8) & 0xff, - 2524 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (437 >> 8) & 0xff, - 437 & 0xff} - } - }, - { - .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2528 >> 8) & 0xff, - 2528 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (438 >> 8) & 0xff, - 438 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2532 >> 8) & 0xff, - 2532 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL3_HDR_TYPE_IPV6}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (439 >> 8) & 0xff, - 439 & 0xff} + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_hdr_error", + .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2536 >> 8) & 0xff, - 2536 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (440 >> 8) & 0xff, - 440 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3_hdr_error", + .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2540 >> 8) & 0xff, - 2540 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (441 >> 8) & 0xff, - 441 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3_hdr_valid", + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_hdr_error", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3_hdr_valid", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2544 >> 8) & 0xff, - 2544 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (442 >> 8) & 0xff, - 442 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_two_vtags", + .description = "l3_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_two_vtags", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2548 >> 8) & 0xff, - 2548 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_vtag_present", + .description = "l2_two_vtags", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_vtag_present", + .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2551 >> 8) & 0xff, - 2551 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_hdr_type", + .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2554 >> 8) & 0xff, - 2554 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_hdr_type", + .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2555 >> 8) & 0xff, - 2555 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2556 >> 8) & 0xff, - 2556 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hrec_next", + .description = "l2_hdr_error", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hrec_next", + .description = "l2_hdr_error", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -27982,2834 +41671,1416 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "agg_error", - .field_bit_size = 1, + .description = "tun_hdr_flags", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "agg_error", - .field_bit_size = 1, + .description = "tun_hdr_flags", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (0xf000 >> 8) & 0xff, - 0xf000 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (2558 >> 8) & 0xff, - 2558 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "pkt_type_0", - .field_bit_size = 2, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "pkt_type_0", - .field_bit_size = 2, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "pkt_type_1", - .field_bit_size = 2, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "pkt_type_1", - .field_bit_size = 2, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "valid", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "valid", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: wm_key_recipe.0 */ { .field_info_mask = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "wc_profile_id", - .field_bit_size = 8, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2560 >> 8) & 0xff, - 2560 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2562 >> 8) & 0xff, - 2562 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (2564 >> 8) & 0xff, - 2564 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (2566 >> 8) & 0xff, - 2566 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2568 >> 8) & 0xff, - 2568 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2569 >> 8) & 0xff, - 2569 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2570 >> 8) & 0xff, - 2570 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2574 >> 8) & 0xff, - 2574 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2578 >> 8) & 0xff, - 2578 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (443 >> 8) & 0xff, - 443 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2585 >> 8) & 0xff, - 2585 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (444 >> 8) & 0xff, - 444 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2592 >> 8) & 0xff, - 2592 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2597 >> 8) & 0xff, - 2597 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2602 >> 8) & 0xff, - 2602 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (445 >> 8) & 0xff, - 445 & 0xff} + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2612 >> 8) & 0xff, - 2612 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (446 >> 8) & 0xff, - 446 & 0xff} + .description = "tl3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2622 >> 8) & 0xff, - 2622 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2627 >> 8) & 0xff, - 2627 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2632 >> 8) & 0xff, - 2632 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2636 >> 8) & 0xff, - 2636 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2640 >> 8) & 0xff, - 2640 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (447 >> 8) & 0xff, - 447 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2645 >> 8) & 0xff, - 2645 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (448 >> 8) & 0xff, - 448 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2650 >> 8) & 0xff, - 2650 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2654 >> 8) & 0xff, - 2654 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2658 >> 8) & 0xff, - 2658 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2662 >> 8) & 0xff, - 2662 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tl2_hdr_type", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2666 >> 8) & 0xff, - 2666 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (449 >> 8) & 0xff, - 449 & 0xff} + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2674 >> 8) & 0xff, - 2674 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (450 >> 8) & 0xff, - 450 & 0xff} + .description = "tl2_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2682 >> 8) & 0xff, - 2682 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (451 >> 8) & 0xff, - 451 & 0xff} + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2690 >> 8) & 0xff, - 2690 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (452 >> 8) & 0xff, - 452 & 0xff} + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2698 >> 8) & 0xff, - 2698 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (453 >> 8) & 0xff, - 453 & 0xff} + 0xff} }, .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (2706 >> 8) & 0xff, - 2706 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (454 >> 8) & 0xff, - 454 & 0xff} + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} } }, { .field_info_mask = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2714 >> 8) & 0xff, - 2714 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (455 >> 8) & 0xff, - 455 & 0xff} + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2722 >> 8) & 0xff, - 2722 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (456 >> 8) & 0xff, - 456 & 0xff} + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.dst", + .description = "metadata", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2730 >> 8) & 0xff, - 2730 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (457 >> 8) & 0xff, - 457 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.dst", + .description = "metadata", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2739 >> 8) & 0xff, - 2739 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (458 >> 8) & 0xff, - 458 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2748 >> 8) & 0xff, - 2748 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (459 >> 8) & 0xff, - 459 & 0xff} + .description = "pkt_type_0", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2754 >> 8) & 0xff, - 2754 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (460 >> 8) & 0xff, - 460 & 0xff} + .description = "pkt_type_0", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "pkt_type_1", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "pkt_type_1", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (2760 >> 8) & 0xff, - 2760 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (461 >> 8) & 0xff, - 461 & 0xff} + 1} }, .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (2767 >> 8) & 0xff, - 2767 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (462 >> 8) & 0xff, - 462 & 0xff} + 1} } }, + /* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_egr_wr */ { .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2774 >> 8) & 0xff, - 2774 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (463 >> 8) & 0xff, - 463 & 0xff} + 0xff, + 0xff} }, .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (2781 >> 8) & 0xff, - 2781 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (464 >> 8) & 0xff, - 464 & 0xff} + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} } }, + /* class_tid: 4, , table: profile_tcam_cache.vfr_rd */ { .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2788 >> 8) & 0xff, - 2788 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (465 >> 8) & 0xff, - 465 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2797 >> 8) & 0xff, - 2797 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (466 >> 8) & 0xff, - 466 & 0xff} + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (2806 >> 8) & 0xff, - 2806 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (467 >> 8) & 0xff, - 467 & 0xff} + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff} + } + }, + { + .field_info_mask = { + .description = "hdr_sig_id", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2824 >> 8) & 0xff, - 2824 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (470 >> 8) & 0xff, - 470 & 0xff} + .description = "hdr_sig_id", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, + /* class_tid: 4, , table: l2_cntxt_tcam.vf_2_vfr_ing.0 */ { .field_info_mask = { - .description = "l2_etype", + .description = "etype", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2842 >> 8) & 0xff, - 2842 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (473 >> 8) & 0xff, - 473 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_etype", + .description = "etype", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2851 >> 8) & 0xff, - 2851 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (474 >> 8) & 0xff, - 474 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2860 >> 8) & 0xff, - 2860 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (475 >> 8) & 0xff, - 475 & 0xff} + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2867 >> 8) & 0xff, - 2867 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (476 >> 8) & 0xff, - 476 & 0xff} + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2874 >> 8) & 0xff, - 2874 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (477 >> 8) & 0xff, - 477 & 0xff} + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2881 >> 8) & 0xff, - 2881 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (478 >> 8) & 0xff, - 478 & 0xff} + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2888 >> 8) & 0xff, - 2888 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (479 >> 8) & 0xff, - 479 & 0xff} + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2895 >> 8) & 0xff, - 2895 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (480 >> 8) & 0xff, - 480 & 0xff} + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2902 >> 8) & 0xff, - 2902 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (481 >> 8) & 0xff, - 481 & 0xff} + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2909 >> 8) & 0xff, - 2909 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (482 >> 8) & 0xff, - 482 & 0xff} + .description = "l2_ovlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2916 >> 8) & 0xff, - 2916 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (483 >> 8) & 0xff, - 483 & 0xff} + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2930 >> 8) & 0xff, - 2930 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (486 >> 8) & 0xff, - 486 & 0xff} + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2944 >> 8) & 0xff, - 2944 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (489 >> 8) & 0xff, - 489 & 0xff} + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2968 >> 8) & 0xff, - 2968 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_IP_PROTO_TCP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (496 >> 8) & 0xff, - 496 & 0xff} + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2992 >> 8) & 0xff, - 2992 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (503 >> 8) & 0xff, - 503 & 0xff} + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3006 >> 8) & 0xff, - 3006 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (506 >> 8) & 0xff, - 506 & 0xff} + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3020 >> 8) & 0xff, - 3020 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (509 >> 8) & 0xff, - 509 & 0xff} + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3036 >> 8) & 0xff, - 3036 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (513 >> 8) & 0xff, - 513 & 0xff} + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3052 >> 8) & 0xff, - 3052 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (517 >> 8) & 0xff, - 517 & 0xff} + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3068 >> 8) & 0xff, - 3068 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (521 >> 8) & 0xff, - 521 & 0xff} + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: proto_header_cache.wr */ { .field_info_mask = { - .description = "group_metadata", + .description = "tun_hdr_type", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", + .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3084 >> 8) & 0xff, - 3084 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 3}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "llc", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "llc", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + 1} + }, + .field_info_spec = { + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "metadata", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + (ULP_THOR_SYM_VF_2_VFR_META_MASK >> 8) & 0xff, + ULP_THOR_SYM_VF_2_VFR_META_MASK & 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "metadata", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + (ULP_THOR_SYM_VF_2_VFR_META_VAL >> 8) & 0xff, + ULP_THOR_SYM_VF_2_VFR_META_VAL & 0xff} } }, - /* class_tid: 2, , table: em_flow_conflict_cache.rd */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "group_metadata", + .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3089 >> 8) & 0xff, - 3089 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "spif", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "spif", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, 0xff} }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "loopback", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + 1} } }, - /* class_tid: 2, , table: em_key_recipe.0 */ { .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, + .description = "recycle_cnt", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3336 >> 8) & 0xff, - 3336 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3338 >> 8) & 0xff, - 3338 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3340 >> 8) & 0xff, - 3340 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 1} }, .field_info_spec = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3342 >> 8) & 0xff, - 3342 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, - BNXT_ULP_RF_IDX_JUMP_META & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + 1} } }, + /* class_tid: 4, , table: l2_cntxt_tcam.vfr_2_vf_ing.0 */ { .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3344 >> 8) & 0xff, - 3344 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3345 >> 8) & 0xff, - 3345 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_RF, - .field_opr2 = { - (BNXT_ULP_RF_IDX_RECYCLE_CNT >> 8) & 0xff, - BNXT_ULP_RF_IDX_RECYCLE_CNT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3346 >> 8) & 0xff, - 3346 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3350 >> 8) & 0xff, - 3350 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3354 >> 8) & 0xff, - 3354 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3358 >> 8) & 0xff, - 3358 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ivlan_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3362 >> 8) & 0xff, - 3362 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3367 >> 8) & 0xff, - 3367 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "l2_ovlan_tpid_sel", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_ivv", + .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3372 >> 8) & 0xff, - 3372 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (562 >> 8) & 0xff, - 562 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_ivv", + .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3382 >> 8) & 0xff, - 3382 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (563 >> 8) & 0xff, - 563 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3392 >> 8) & 0xff, - 3392 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3397 >> 8) & 0xff, - 3397 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3402 >> 8) & 0xff, - 3402 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3406 >> 8) & 0xff, - 3406 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "vtag_present", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3410 >> 8) & 0xff, - 3410 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3414 >> 8) & 0xff, - 3414 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "mac1_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3418 >> 8) & 0xff, - 3418 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3422 >> 8) & 0xff, - 3422 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "mac0_addr", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3426 >> 8) & 0xff, - 3426 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3430 >> 8) & 0xff, - 3430 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + .description = "tunnel_id", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3434 >> 8) & 0xff, - 3434 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (564 >> 8) & 0xff, - 564 & 0xff} + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3442 >> 8) & 0xff, - 3442 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (565 >> 8) & 0xff, - 565 & 0xff} + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3450 >> 8) & 0xff, - 3450 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (566 >> 8) & 0xff, - 566 & 0xff} + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3458 >> 8) & 0xff, - 3458 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (567 >> 8) & 0xff, - 567 & 0xff} + .description = "llc", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3466 >> 8) & 0xff, - 3466 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (568 >> 8) & 0xff, - 568 & 0xff} + 1} }, .field_info_spec = { - .description = "tl3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3474 >> 8) & 0xff, - 3474 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (569 >> 8) & 0xff, - 569 & 0xff} + .description = "roce", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tl4.src", + .description = "metadata", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3482 >> 8) & 0xff, - 3482 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (570 >> 8) & 0xff, - 570 & 0xff} + (ULP_THOR_SYM_VF_2_VFR_META_MASK >> 8) & 0xff, + ULP_THOR_SYM_VF_2_VFR_META_MASK & 0xff} }, .field_info_spec = { - .description = "tl4.src", + .description = "metadata", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3490 >> 8) & 0xff, - 3490 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (571 >> 8) & 0xff, - 571 & 0xff} + (ULP_THOR_SYM_VF_2_VF_META_VAL >> 8) & 0xff, + ULP_THOR_SYM_VF_2_VF_META_VAL & 0xff} } }, { .field_info_mask = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3498 >> 8) & 0xff, - 3498 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (572 >> 8) & 0xff, - 572 & 0xff} + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tl4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3507 >> 8) & 0xff, - 3507 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (573 >> 8) & 0xff, - 573 & 0xff} + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3516 >> 8) & 0xff, - 3516 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (574 >> 8) & 0xff, - 574 & 0xff} + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3522 >> 8) & 0xff, - 3522 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (575 >> 8) & 0xff, - 575 & 0xff} + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3528 >> 8) & 0xff, - 3528 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (576 >> 8) & 0xff, - 576 & 0xff} + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3535 >> 8) & 0xff, - 3535 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (577 >> 8) & 0xff, - 577 & 0xff} + .description = "spif", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - (3542 >> 8) & 0xff, - 3542 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (578 >> 8) & 0xff, - 578 & 0xff} + 0xff} }, .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "loopback", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3549 >> 8) & 0xff, - 3549 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (579 >> 8) & 0xff, - 579 & 0xff} + 1} } }, { .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3556 >> 8) & 0xff, - 3556 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (580 >> 8) & 0xff, - 580 & 0xff} + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3565 >> 8) & 0xff, - 3565 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (581 >> 8) & 0xff, - 581 & 0xff} + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3574 >> 8) & 0xff, - 3574 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (582 >> 8) & 0xff, - 582 & 0xff} + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3592 >> 8) & 0xff, - 3592 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (585 >> 8) & 0xff, - 585 & 0xff} + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3610 >> 8) & 0xff, - 3610 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (588 >> 8) & 0xff, - 588 & 0xff} + 1} }, .field_info_spec = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (3619 >> 8) & 0xff, - 3619 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (589 >> 8) & 0xff, - 589 & 0xff} + 1} } }, + /* class_tid: 4, , table: profile_tcam.vf_2_vfr.0 */ { .field_info_mask = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3628 >> 8) & 0xff, - 3628 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (590 >> 8) & 0xff, - 590 & 0xff} + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3635 >> 8) & 0xff, - 3635 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (591 >> 8) & 0xff, - 591 & 0xff} + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3642 >> 8) & 0xff, - 3642 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (592 >> 8) & 0xff, - 592 & 0xff} + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3649 >> 8) & 0xff, - 3649 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (593 >> 8) & 0xff, - 593 & 0xff} + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3656 >> 8) & 0xff, - 3656 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (594 >> 8) & 0xff, - 594 & 0xff} + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3663 >> 8) & 0xff, - 3663 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (595 >> 8) & 0xff, - 595 & 0xff} + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3670 >> 8) & 0xff, - 3670 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (596 >> 8) & 0xff, - 596 & 0xff} + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3677 >> 8) & 0xff, - 3677 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (597 >> 8) & 0xff, - 597 & 0xff} + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "ieh", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "ieh", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_ipv6_cmp_dst", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "l3_ipv6_cmp_src", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3684 >> 8) & 0xff, - 3684 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (598 >> 8) & 0xff, - 598 & 0xff} + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3698 >> 8) & 0xff, - 3698 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (601 >> 8) & 0xff, - 601 & 0xff} + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3712 >> 8) & 0xff, - 3712 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (604 >> 8) & 0xff, - 604 & 0xff} + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3726 >> 8) & 0xff, - 3726 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (607 >> 8) & 0xff, - 607 & 0xff} + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3740 >> 8) & 0xff, - 3740 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (610 >> 8) & 0xff, - 610 & 0xff} + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l3.qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3754 >> 8) & 0xff, - 3754 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (613 >> 8) & 0xff, - 613 & 0xff} + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3768 >> 8) & 0xff, - 3768 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (616 >> 8) & 0xff, - 616 & 0xff} + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3782 >> 8) & 0xff, - 3782 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (619 >> 8) & 0xff, - 619 & 0xff} + .description = "l3_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3796 >> 8) & 0xff, - 3796 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (622 >> 8) & 0xff, - 622 & 0xff} + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (3810 >> 8) & 0xff, - 3810 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (625 >> 8) & 0xff, - 625 & 0xff} + .description = "l2_two_vtags", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 2, , table: em_flow_conflict_cache.wr */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "l2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "group_metadata", - .field_bit_size = 4, + .description = "l2_uc_mc_bc", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "group_metadata", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (3824 >> 8) & 0xff, - 3824 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_CHAIN_META_TYPE}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_uc_mc_bc", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "l2_hdr_type", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "hdr_bitmap", - .field_bit_size = 64, + .description = "l2_hdr_error", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff, - BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: port_table.ing_wr_0 */ { .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 10, + .description = "l2_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tun_hdr_flags", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "tun_hdr_flags", + .field_bit_size = 3, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, - /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */ { .field_info_mask = { - .description = "etype", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "etype", - .field_bit_size = 16, + .description = "tun_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, + .description = "tun_hdr_err", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, + .description = "tun_hdr_valid", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, + .description = "tl4_hdr_is_udp_tcp", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, + .description = "tl4_hdr_type", + .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "two_vtags", + .description = "tl4_hdr_error", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "two_vtags", + .description = "tl4_hdr_error", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30817,13 +43088,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "vtag_present", + .description = "tl4_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "vtag_present", + .description = "tl4_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30831,55 +43102,55 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "mac1_addr", - .field_bit_size = 48, + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "mac1_addr", - .field_bit_size = 48, + .description = "tl3_ipv6_cmp_dst", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "mac0_addr", - .field_bit_size = 48, + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "mac0_addr", - .field_bit_size = 48, + .description = "tl3_ipv6_cmp_src", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 24, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 24, + .description = "tl3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "tun_hdr_type", + .description = "tl3_hdr_type", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "tun_hdr_type", + .description = "tl3_hdr_type", .field_bit_size = 4, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30887,13 +43158,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "llc", + .description = "tl3_hdr_error", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "llc", + .description = "tl3_hdr_error", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30901,15 +43172,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "roce", + .description = "tl3_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "roce", + .description = "tl3_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30917,61 +43186,55 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, + .description = "tl2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, + .description = "tl2_two_vtags", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "tl2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "tl2_vtag_present", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "parif", - .field_bit_size = 4, + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "parif", - .field_bit_size = 4, + .description = "tl2_uc_mc_bc", + .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { - .description = "spif", + .description = "tl2_hdr_type", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "spif", + .description = "tl2_hdr_type", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30979,13 +43242,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "loopback", + .description = "tl2_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "loopback", + .description = "tl2_hdr_valid", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -30993,13 +43256,74 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "recycle_cnt", + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "hrec_next", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff} + } + }, + { + .field_info_mask = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "agg_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "pkt_type_0", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "recycle_cnt", + .description = "pkt_type_0", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -31007,13 +43331,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { }, { .field_info_mask = { - .description = "mpass_cnt", + .description = "pkt_type_1", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { - .description = "mpass_cnt", + .description = "pkt_type_1", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO @@ -31037,28 +43361,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { 1} } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} - } - }, - /* class_tid: 3, , table: profile_tcam.prof_func_catch_all */ + /* class_tid: 4, , table: profile_tcam.vfr_2_vf.0 */ { .field_info_mask = { .description = "l4_hdr_is_udp_tcp", @@ -31590,10 +43893,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .description = "prof_func_id", .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + (BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff} } }, { @@ -31670,7 +43973,199 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { 1} } }, - /* class_tid: 3, , table: port_table.egr_wr_0 */ + /* class_tid: 4, , table: profile_tcam_cache.vfr_wr */ + { + .field_info_mask = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "recycle_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff} + } + }, + { + .field_info_mask = { + .description = "hdr_sig_id", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "hdr_sig_id", + .field_bit_size = 6, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 4, , table: em.vf_2_vfr.0 */ + { + .field_info_mask = { + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 & 0xff} + } + }, + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + } + }, + { + .field_info_mask = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR_SYM_VF_2_VFR_META_VAL >> 8) & 0xff, + ULP_THOR_SYM_VF_2_VFR_META_VAL & 0xff} + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam_cache.rd_egr0 */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + } + }, + /* class_tid: 4, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + } + }, + /* class_tid: 4, , table: em.vfr_2_vf.0 */ + { + .field_info_mask = { + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "em_profile_id", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_1 >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_1 & 0xff} + } + }, + { + .field_info_mask = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_VF_META_FID >> 8) & 0xff, + BNXT_ULP_CF_IDX_VF_META_FID & 0xff} + } + }, + /* class_tid: 5, , table: port_table.ing_rd */ { .field_info_mask = { .description = "dev.port_id", @@ -31691,7 +44186,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_rd */ + /* class_tid: 5, , table: prof_func_cache.ing_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ { .field_info_mask = { .description = "svif", @@ -31708,11 +44223,29 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, - /* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_egr_0 */ + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */ { .field_info_mask = { .description = "etype", @@ -31927,8 +44460,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, { @@ -31992,34 +44525,229 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .description = "mpass_cnt", .field_bit_size = 2, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "mpass_cnt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + .field_info_spec = { + .description = "valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + } + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + /* class_tid: 7, , table: flow_chain_cache.group_check */ + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + } + }, + /* class_tid: 7, , table: flow_chain_cache.write */ + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + } + }, + /* class_tid: 7, , table: group_miss_action_cache.rd_ing */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} + } + }, + /* class_tid: 7, , table: group_miss_action_cache.write */ + { + .field_info_mask = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} + }, + .field_info_spec = { + .description = "svif", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} + } + }, + { + .field_info_mask = { + .description = "group_id", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff, + 0xff, + 0xff} }, .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, + /* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd */ { .field_info_mask = { - .description = "valid", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { - 1} + 0xff, + 0xff} }, .field_info_spec = { - .description = "valid", - .field_bit_size = 1, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - 1} + (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} } }, - /* class_tid: 3, , table: profile_tcam.non_vfr_prof_func_egr_catch_all */ + /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all */ { .field_info_mask = { .description = "l4_hdr_is_udp_tcp", @@ -32576,13 +45304,26 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .description = "metadata", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (0xffff >> 8) & 0xff, + 0xffff & 0xff} }, .field_info_spec = { .description = "metadata", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4941 >> 8) & 0xff, + 4941 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff} } }, { @@ -32631,170 +45372,96 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { 1} } }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */ + /* class_tid: 7, , table: flow_chain_cache.group_check_egr */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} - } - }, - /* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_rd */ - { - .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN} - } - }, - /* class_tid: 3, , table: tunnel_gparse_cache.def_cust_tun_wr */ - { - .field_info_mask = { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tunnel_type", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN} - } - }, - /* class_tid: 4, , table: profile_tcam_cache.vfr_glb_act_rec_rd */ - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, + /* class_tid: 7, , table: flow_chain_cache.write_egr */ { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff} - } - }, - { - .field_info_mask = { - .description = "hdr_sig_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "hdr_sig_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, - /* class_tid: 4, , table: profile_tcam_cache.vfr_glb_act_rec_wr */ + /* class_tid: 7, , table: group_miss_action_cache.rd_egr */ { .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, 0xff} }, .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, + .description = "svif", + .field_bit_size = 11, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - 1} + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, { .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, + 0xff, 0xff} }, .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff} - } - }, - { - .field_info_mask = { - .description = "hdr_sig_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "hdr_sig_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_rd_egr */ + /* class_tid: 7, , table: group_miss_action_cache.write_egr */ { .field_info_mask = { .description = "svif", @@ -32811,230 +45478,33 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.get_drv_func_prof_func */ { .field_info_mask = { - .description = "svif", - .field_bit_size = 11, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { + 0xff, + 0xff, 0xff, 0xff} }, .field_info_spec = { - .description = "svif", - .field_bit_size = 11, + .description = "group_id", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} - } - }, - /* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */ - { - .field_info_mask = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - .field_info_spec = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_CF_IDX_GROUP_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_GROUP_ID & 0xff} } }, + /* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd_egr */ { .field_info_mask = { .description = "svif", @@ -33051,99 +45521,11 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} - } - }, - { - .field_info_mask = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} } }, - /* class_tid: 4, , table: profile_tcam.prof_func_catch_all */ + /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all_egr */ { .field_info_mask = { .description = "l4_hdr_is_udp_tcp", @@ -33700,13 +46082,26 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .description = "metadata", .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (0xffff >> 8) & 0xff, + 0xffff & 0xff} }, .field_info_spec = { .description = "metadata", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4944 >> 8) & 0xff, + 4944 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff} } }, { @@ -33754,4220 +46149,5258 @@ struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { .field_opr1 = { 1} } - }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.vf_egr_wr */ + } +}; + +struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff} + (12 >> 8) & 0xff, + 12 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_GENEVE} }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} - } - }, - /* class_tid: 4, , table: profile_tcam_cache.vfr_rd */ { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tunnel_type", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (24 >> 8) & 0xff, + 24 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR_SYM_DPORT_TUN_TYPE_GENEVE} }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + /* class_tid: 1, , table: control.dmac_calculation */ + { + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (31 >> 8) & 0xff, + 31 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (3 >> 8) & 0xff, + 3 & 0xff} }, { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (33 >> 8) & 0xff, + 33 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr2 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (4 >> 8) & 0xff, + 4 & 0xff} }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff} - } - }, { - .field_info_mask = { - .description = "hdr_sig_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (34 >> 8) & 0xff, + 34 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, + .field_opr2 = { + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, + (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff, + BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "hdr_sig_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + /* class_tid: 1, , table: control.terminating_flow */ + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (144 >> 8) & 0xff, + 144 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (6 >> 8) & 0xff, + 6 & 0xff} }, - /* class_tid: 4, , table: l2_cntxt_tcam.vf_2_vfr_ing.0 */ { - .field_info_mask = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (147 >> 8) & 0xff, + 147 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (7 >> 8) & 0xff, + 7 & 0xff} }, - .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (150 >> 8) & 0xff, + 150 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (8 >> 8) & 0xff, + 8 & 0xff} }, - .field_info_spec = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (152 >> 8) & 0xff, + 152 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (9 >> 8) & 0xff, + 9 & 0xff} }, - .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (154 >> 8) & 0xff, + 154 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (187 >> 8) & 0xff, + 187 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "two_vtags", + .description = "tl3_sip.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (201 >> 8) & 0xff, + 201 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "two_vtags", + { + .description = "tl3_sip.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (202 >> 8) & 0xff, + 202 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_dip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (210 >> 8) & 0xff, + 210 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (218 >> 8) & 0xff, + 218 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (226 >> 8) & 0xff, + 226 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .field_info_mask = { - .description = "vtag_present", + .description = "tl3_qos.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (234 >> 8) & 0xff, + 234 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (242 >> 8) & 0xff, + 242 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (251 >> 8) & 0xff, + 251 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (258 >> 8) & 0xff, + 258 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (265 >> 8) & 0xff, + 265 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "llc", + .description = "l2_smac.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (272 >> 8) & 0xff, + 272 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "roce", + .description = "l2_ovv.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (280 >> 8) & 0xff, + 280 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR_SYM_VF_2_VFR_META_MASK >> 8) & 0xff, - ULP_THOR_SYM_VF_2_VFR_META_MASK & 0xff} + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (289 >> 8) & 0xff, + 289 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (24 >> 8) & 0xff, + 24 & 0xff} }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR_SYM_VF_2_VFR_META_VAL >> 8) & 0xff, - ULP_THOR_SYM_VF_2_VFR_META_VAL & 0xff} - } - }, { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (294 >> 8) & 0xff, + 294 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (25 >> 8) & 0xff, + 25 & 0xff} }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (298 >> 8) & 0xff, + 298 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (307 >> 8) & 0xff, + 307 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "loopback", + .description = "l3_sip.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_opr1 = { - 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (316 >> 8) & 0xff, + 316 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (28 >> 8) & 0xff, + 28 & 0xff} }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_sip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (321 >> 8) & 0xff, + 321 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (29 >> 8) & 0xff, + 29 & 0xff} }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_sip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (325 >> 8) & 0xff, + 325 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "valid", + .description = "l3_dip.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (334 >> 8) & 0xff, + 334 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (31 >> 8) & 0xff, + 31 & 0xff} }, - .field_info_spec = { - .description = "valid", + { + .description = "l3_dip.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, - /* class_tid: 4, , table: l2_cntxt_tcam.vfr_2_vf_ing.0 */ + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (339 >> 8) & 0xff, + 339 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (32 >> 8) & 0xff, + 32 & 0xff} + }, { - .field_info_mask = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_dip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (343 >> 8) & 0xff, + 343 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (352 >> 8) & 0xff, + 352 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (34 >> 8) & 0xff, + 34 & 0xff} }, - .field_info_spec = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (357 >> 8) & 0xff, + 357 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (35 >> 8) & 0xff, + 35 & 0xff} }, - .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (361 >> 8) & 0xff, + 361 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (370 >> 8) & 0xff, + 370 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (37 >> 8) & 0xff, + 37 & 0xff} }, - .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "two_vtags", + .description = "l3_prot.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (375 >> 8) & 0xff, + 375 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (38 >> 8) & 0xff, + 38 & 0xff} }, - .field_info_spec = { - .description = "two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "vtag_present", + .description = "l3_prot.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (379 >> 8) & 0xff, + 379 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (388 >> 8) & 0xff, + 388 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (40 >> 8) & 0xff, + 40 & 0xff} }, - .field_info_spec = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (393 >> 8) & 0xff, + 393 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (41 >> 8) & 0xff, + 41 & 0xff} }, - .field_info_spec = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (397 >> 8) & 0xff, + 397 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (403 >> 8) & 0xff, + 403 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "llc", + .description = "l4_src.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (406 >> 8) & 0xff, + 406 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (44 >> 8) & 0xff, + 44 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "roce", + .description = "l4_src.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (407 >> 8) & 0xff, + 407 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR_SYM_VF_2_VFR_META_MASK >> 8) & 0xff, - ULP_THOR_SYM_VF_2_VFR_META_MASK & 0xff} + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (412 >> 8) & 0xff, + 412 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR_SYM_VF_2_VF_META_VAL >> 8) & 0xff, - ULP_THOR_SYM_VF_2_VF_META_VAL & 0xff} - } - }, { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (415 >> 8) & 0xff, + 415 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr2 = { + (47 >> 8) & 0xff, + 47 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (416 >> 8) & 0xff, + 416 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (463 >> 8) & 0xff, + 463 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (473 >> 8) & 0xff, + 473 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (500 >> 8) & 0xff, + 500 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (505 >> 8) & 0xff, + 505 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 1} + (526 >> 8) & 0xff, + 526 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, - /* class_tid: 4, , table: profile_tcam.vf_2_vfr.0 */ { - .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (534 >> 8) & 0xff, + 534 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (542 >> 8) & 0xff, + 542 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (550 >> 8) & 0xff, + 550 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (558 >> 8) & 0xff, + 558 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "ieh", + .description = "tl3.qos", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (566 >> 8) & 0xff, + 566 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (574 >> 8) & 0xff, + 574 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "ieh", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (582 >> 8) & 0xff, + 582 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (591 >> 8) & 0xff, + 591 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (600 >> 8) & 0xff, + 600 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (607 >> 8) & 0xff, + 607 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tids", + .field_bit_size = 24, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (613 >> 8) & 0xff, + 613 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (620 >> 8) & 0xff, + 620 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_dmac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (627 >> 8) & 0xff, + 627 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (634 >> 8) & 0xff, + 634 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (641 >> 8) & 0xff, + 641 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (649 >> 8) & 0xff, + 649 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (658 >> 8) & 0xff, + 658 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (667 >> 8) & 0xff, + 667 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (71 >> 8) & 0xff, + 71 & 0xff} }, - .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (672 >> 8) & 0xff, + 672 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (72 >> 8) & 0xff, + 72 & 0xff} }, - .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (676 >> 8) & 0xff, + 676 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (685 >> 8) & 0xff, + 685 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (74 >> 8) & 0xff, + 74 & 0xff} }, - .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (690 >> 8) & 0xff, + 690 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (75 >> 8) & 0xff, + 75 & 0xff} }, - .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (694 >> 8) & 0xff, + 694 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (703 >> 8) & 0xff, + 703 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (712 >> 8) & 0xff, + 712 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (720 >> 8) & 0xff, + 720 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (727 >> 8) & 0xff, + 727 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (734 >> 8) & 0xff, + 734 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (741 >> 8) & 0xff, + 741 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (748 >> 8) & 0xff, + 748 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (755 >> 8) & 0xff, + 755 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (762 >> 8) & 0xff, + 762 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.dip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (769 >> 8) & 0xff, + 769 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (776 >> 8) & 0xff, + 776 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (87 >> 8) & 0xff, + 87 & 0xff} }, - .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (780 >> 8) & 0xff, + 780 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (88 >> 8) & 0xff, + 88 & 0xff} }, - .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (783 >> 8) & 0xff, + 783 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (790 >> 8) & 0xff, + 790 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (90 >> 8) & 0xff, + 90 & 0xff} }, - .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (794 >> 8) & 0xff, + 794 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (91 >> 8) & 0xff, + 91 & 0xff} }, - .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "hrec_next", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.ttl", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (797 >> 8) & 0xff, + 797 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (803 >> 8) & 0xff, + 803 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (93 >> 8) & 0xff, + 93 & 0xff} }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff} - } - }, + (806 >> 8) & 0xff, + 806 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (94 >> 8) & 0xff, + 94 & 0xff} + }, { - .field_info_mask = { - .description = "agg_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (808 >> 8) & 0xff, + 808 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (95 >> 8) & 0xff, + 95 & 0xff} }, - .field_info_spec = { - .description = "agg_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (810 >> 8) & 0xff, + 810 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (96 >> 8) & 0xff, + 96 & 0xff} }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "pkt_type_0", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (814 >> 8) & 0xff, + 814 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (97 >> 8) & 0xff, + 97 & 0xff} }, - .field_info_spec = { - .description = "pkt_type_0", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "pkt_type_1", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (818 >> 8) & 0xff, + 818 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (98 >> 8) & 0xff, + 98 & 0xff} }, - .field_info_spec = { - .description = "pkt_type_1", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 1} + (821 >> 8) & 0xff, + 821 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 1} - } - }, - /* class_tid: 4, , table: profile_tcam.vfr_2_vf.0 */ + (827 >> 8) & 0xff, + 827 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (100 >> 8) & 0xff, + 100 & 0xff} + }, { - .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (830 >> 8) & 0xff, + 830 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (101 >> 8) & 0xff, + 101 & 0xff} }, - .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (832 >> 8) & 0xff, + 832 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (102 >> 8) & 0xff, + 102 & 0xff} }, - .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (834 >> 8) & 0xff, + 834 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (103 >> 8) & 0xff, + 103 & 0xff} }, - .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (838 >> 8) & 0xff, + 838 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (104 >> 8) & 0xff, + 104 & 0xff} + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (842 >> 8) & 0xff, + 842 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (105 >> 8) & 0xff, + 105 & 0xff} }, - .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "ieh", + .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (845 >> 8) & 0xff, + 845 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "ieh", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (852 >> 8) & 0xff, + 852 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (107 >> 8) & 0xff, + 107 & 0xff} }, - .field_info_spec = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (856 >> 8) & 0xff, + 856 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (108 >> 8) & 0xff, + 108 & 0xff} }, - .field_info_spec = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (859 >> 8) & 0xff, + 859 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (866 >> 8) & 0xff, + 866 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (110 >> 8) & 0xff, + 110 & 0xff} }, - .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (870 >> 8) & 0xff, + 870 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (111 >> 8) & 0xff, + 111 & 0xff} }, - .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (873 >> 8) & 0xff, + 873 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (880 >> 8) & 0xff, + 880 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (113 >> 8) & 0xff, + 113 & 0xff} }, - .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (884 >> 8) & 0xff, + 884 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (114 >> 8) & 0xff, + 114 & 0xff} }, - .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (887 >> 8) & 0xff, + 887 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (115 >> 8) & 0xff, + 115 & 0xff} }, - .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (890 >> 8) & 0xff, + 890 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (896 >> 8) & 0xff, + 896 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (117 >> 8) & 0xff, + 117 & 0xff} }, - .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (900 >> 8) & 0xff, + 900 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (118 >> 8) & 0xff, + 118 & 0xff} }, - .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (903 >> 8) & 0xff, + 903 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (119 >> 8) & 0xff, + 119 & 0xff} }, - .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (906 >> 8) & 0xff, + 906 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST }, - .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (912 >> 8) & 0xff, + 912 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (121 >> 8) & 0xff, + 121 & 0xff} }, - .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (916 >> 8) & 0xff, + 916 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (122 >> 8) & 0xff, + 122 & 0xff} }, - .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (919 >> 8) & 0xff, + 919 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (123 >> 8) & 0xff, + 123 & 0xff} }, - .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (922 >> 8) & 0xff, + 922 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (928 >> 8) & 0xff, + 928 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (125 >> 8) & 0xff, + 125 & 0xff} }, - .field_info_spec = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (932 >> 8) & 0xff, + 932 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (126 >> 8) & 0xff, + 126 & 0xff} }, - .field_info_spec = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (935 >> 8) & 0xff, + 935 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (127 >> 8) & 0xff, + 127 & 0xff} }, - .field_info_spec = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (938 >> 8) & 0xff, + 938 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST }, - .field_info_spec = { - .description = "tl3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, + /* class_tid: 1, , table: control.profile_tcam_priority */ { - .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (943 >> 8) & 0xff, + 943 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (129 >> 8) & 0xff, + 129 & 0xff} }, { - .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (945 >> 8) & 0xff, + 945 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (130 >> 8) & 0xff, + 130 & 0xff} }, - .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (947 >> 8) & 0xff, + 947 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (131 >> 8) & 0xff, + 131 & 0xff} }, - .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (949 >> 8) & 0xff, + 949 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (132 >> 8) & 0xff, + 132 & 0xff} }, - .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (951 >> 8) & 0xff, + 951 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (133 >> 8) & 0xff, + 133 & 0xff} }, - .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (953 >> 8) & 0xff, + 953 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (134 >> 8) & 0xff, + 134 & 0xff} }, - .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (955 >> 8) & 0xff, + 955 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (135 >> 8) & 0xff, + 135 & 0xff} }, - .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (957 >> 8) & 0xff, + 957 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_PROF_TCAM_PRI_L3}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + ULP_THOR_SYM_PROF_TCAM_PRI_L2} }, - .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "tl2_hdr_valid", + .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (961 >> 8) & 0xff, + 961 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (137 >> 8) & 0xff, + 137 & 0xff} }, - .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "hrec_next", + .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (963 >> 8) & 0xff, + 963 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (138 >> 8) & 0xff, + 138 & 0xff} }, - .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (965 >> 8) & 0xff, + 965 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_ANY_2_VF_PROF_FUNC_ID & 0xff} - } - }, { - .field_info_mask = { - .description = "agg_error", + .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (969 >> 8) & 0xff, + 969 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (140 >> 8) & 0xff, + 140 & 0xff} }, - .field_info_spec = { - .description = "agg_error", + { + .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (971 >> 8) & 0xff, + 971 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (141 >> 8) & 0xff, + 141 & 0xff} + }, { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_hdr_is_udp_tcp", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (973 >> 8) & 0xff, + 973 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "pkt_type_0", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (977 >> 8) & 0xff, + 977 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (143 >> 8) & 0xff, + 143 & 0xff} }, - .field_info_spec = { - .description = "pkt_type_0", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "pkt_type_1", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (979 >> 8) & 0xff, + 979 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (144 >> 8) & 0xff, + 144 & 0xff} }, - .field_info_spec = { - .description = "pkt_type_1", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 1} + (981 >> 8) & 0xff, + 981 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + { + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 1} - } - }, - /* class_tid: 4, , table: profile_tcam_cache.vfr_wr */ + (985 >> 8) & 0xff, + 985 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (146 >> 8) & 0xff, + 146 & 0xff} + }, { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (987 >> 8) & 0xff, + 987 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (147 >> 8) & 0xff, + 147 & 0xff} }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (989 >> 8) & 0xff, + 989 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + { + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_VF_2_VFR_PROF_FUNC_ID & 0xff} - } - }, + (993 >> 8) & 0xff, + 993 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (149 >> 8) & 0xff, + 149 & 0xff} + }, { - .field_info_mask = { - .description = "hdr_sig_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (995 >> 8) & 0xff, + 995 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (150 >> 8) & 0xff, + 150 & 0xff} }, - .field_info_spec = { - .description = "hdr_sig_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - /* class_tid: 4, , table: em.vf_2_vfr.0 */ { - .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (997 >> 8) & 0xff, + 997 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_0 & 0xff} - } - }, { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff} + (1001 >> 8) & 0xff, + 1001 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (152 >> 8) & 0xff, + 152 & 0xff} }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} - } - }, { - .field_info_mask = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff} + (1003 >> 8) & 0xff, + 1003 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (153 >> 8) & 0xff, + 153 & 0xff} }, - .field_info_spec = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - (ULP_THOR_SYM_VF_2_VFR_META_VAL >> 8) & 0xff, - ULP_THOR_SYM_VF_2_VFR_META_VAL & 0xff} - } - }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.rd_egr0 */ { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff} + (1005 >> 8) & 0xff, + 1005 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} - } - }, - /* class_tid: 4, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */ { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff} + (1009 >> 8) & 0xff, + 1009 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (155 >> 8) & 0xff, + 155 & 0xff} }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + { + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} - } - }, - /* class_tid: 4, , table: em.vfr_2_vf.0 */ + (1011 >> 8) & 0xff, + 1011 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (156 >> 8) & 0xff, + 156 & 0xff} + }, { - .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff} + (1013 >> 8) & 0xff, + 1013 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, - .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + { + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_1 >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_GLB_VFR_EM_PROF_ID_1 & 0xff} - } - }, + (1017 >> 8) & 0xff, + 1017 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (158 >> 8) & 0xff, + 158 & 0xff} + }, { - .field_info_mask = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - 0xff, - 0xff} + (1019 >> 8) & 0xff, + 1019 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (159 >> 8) & 0xff, + 159 & 0xff} }, - .field_info_spec = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + { + .description = "l4_hdr_valid", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (BNXT_ULP_CF_IDX_VF_META_FID >> 8) & 0xff, - BNXT_ULP_CF_IDX_VF_META_FID & 0xff} - } - } -}; - -struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { + (1021 >> 8) & 0xff, + 1021 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "tunnel_type", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (12 >> 8) & 0xff, - 12 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1025 >> 8) & 0xff, + 1025 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + ULP_THOR_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_GENEVE} + (161 >> 8) & 0xff, + 161 & 0xff} }, { - .description = "tunnel_type", - .field_bit_size = 8, + .description = "l3_hdr_isIP", + .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (24 >> 8) & 0xff, - 24 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (1027 >> 8) & 0xff, + 1027 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_VXLAN_IPV4}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + ULP_THOR_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - ULP_THOR_SYM_DPORT_TUN_TYPE_GENEVE} + (162 >> 8) & 0xff, + 162 & 0xff} }, - /* class_tid: 1, , table: control.dmac_calculation */ { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (31 >> 8) & 0xff, - 31 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (3 >> 8) & 0xff, - 3 & 0xff} - }, + .description = "l3_hdr_isIP", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1029 >> 8) & 0xff, + 1029 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (33 >> 8) & 0xff, - 33 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr2 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (4 >> 8) & 0xff, - 4 & 0xff} + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1033 >> 8) & 0xff, + 1033 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (164 >> 8) & 0xff, + 164 & 0xff} }, { - .description = "", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (34 >> 8) & 0xff, - 34 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE, - .field_opr2 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff, - (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1035 >> 8) & 0xff, + 1035 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (165 >> 8) & 0xff, + 165 & 0xff} }, - /* class_tid: 1, , table: control.terminating_flow */ { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (128 >> 8) & 0xff, - 128 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (6 >> 8) & 0xff, - 6 & 0xff} - }, + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1037 >> 8) & 0xff, + 1037 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (131 >> 8) & 0xff, - 131 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (7 >> 8) & 0xff, - 7 & 0xff} + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1041 >> 8) & 0xff, + 1041 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (167 >> 8) & 0xff, + 167 & 0xff} }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (134 >> 8) & 0xff, - 134 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (8 >> 8) & 0xff, - 8 & 0xff} + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1043 >> 8) & 0xff, + 1043 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (168 >> 8) & 0xff, + 168 & 0xff} }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (136 >> 8) & 0xff, - 136 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (9 >> 8) & 0xff, - 9 & 0xff} + .description = "l3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1045 >> 8) & 0xff, + 1045 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (138 >> 8) & 0xff, - 138 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1049 >> 8) & 0xff, + 1049 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (170 >> 8) & 0xff, + 170 & 0xff} + }, + { + .description = "l3_hdr_error", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1051 >> 8) & 0xff, + 1051 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (171 >> 8) & 0xff, + 171 & 0xff} }, { - .description = "tl2_ivv.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (168 >> 8) & 0xff, - 168 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1053 >> 8) & 0xff, + 1053 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_sip.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (182 >> 8) & 0xff, - 182 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1057 >> 8) & 0xff, + 1057 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (173 >> 8) & 0xff, + 173 & 0xff} }, { - .description = "tl3_sip.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (183 >> 8) & 0xff, - 183 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1059 >> 8) & 0xff, + 1059 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (174 >> 8) & 0xff, + 174 & 0xff} }, { - .description = "tl3_dip.en", + .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (191 >> 8) & 0xff, - 191 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1061 >> 8) & 0xff, + 1061 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_ttl.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (199 >> 8) & 0xff, - 199 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1065 >> 8) & 0xff, + 1065 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (176 >> 8) & 0xff, + 176 & 0xff} }, { - .description = "tl3_prot.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (207 >> 8) & 0xff, - 207 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1067 >> 8) & 0xff, + 1067 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (177 >> 8) & 0xff, + 177 & 0xff} }, { - .description = "tl3_qos.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (215 >> 8) & 0xff, - 215 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1069 >> 8) & 0xff, + 1069 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_src.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (223 >> 8) & 0xff, - 223 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1073 >> 8) & 0xff, + 1073 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (179 >> 8) & 0xff, + 179 & 0xff} }, { - .description = "tl4_dst.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (232 >> 8) & 0xff, - 232 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1075 >> 8) & 0xff, + 1075 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (180 >> 8) & 0xff, + 180 & 0xff} }, { - .description = "tids.en", + .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (239 >> 8) & 0xff, - 239 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1077 >> 8) & 0xff, + 1077 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac.en", + .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (246 >> 8) & 0xff, - 246 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1082 >> 8) & 0xff, + 1082 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_TWO_VTAGS_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac.en", + .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (253 >> 8) & 0xff, - 253 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1088 >> 8) & 0xff, + 1088 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv.en", + .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (261 >> 8) & 0xff, - 261 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1095 >> 8) & 0xff, + 1095 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (270 >> 8) & 0xff, - 270 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (24 >> 8) & 0xff, - 24 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1099 >> 8) & 0xff, + 1099 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (275 >> 8) & 0xff, - 275 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (25 >> 8) & 0xff, - 25 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1103 >> 8) & 0xff, + 1103 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_L2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (279 >> 8) & 0xff, - 279 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1107 >> 8) & 0xff, + 1107 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (187 >> 8) & 0xff, + 187 & 0xff} }, { - .description = "l2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (288 >> 8) & 0xff, - 288 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1109 >> 8) & 0xff, + 1109 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (188 >> 8) & 0xff, + 188 & 0xff} }, { - .description = "l3_sip.en", + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1111 >> 8) & 0xff, + 1111 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (189 >> 8) & 0xff, + 189 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1113 >> 8) & 0xff, + 1113 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (190 >> 8) & 0xff, + 190 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1115 >> 8) & 0xff, + 1115 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1119 >> 8) & 0xff, + 1119 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (192 >> 8) & 0xff, + 192 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1121 >> 8) & 0xff, + 1121 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (193 >> 8) & 0xff, + 193 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1123 >> 8) & 0xff, + 1123 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TUN_HDR_TYPE_GRE}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (194 >> 8) & 0xff, + 194 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1125 >> 8) & 0xff, + 1125 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (195 >> 8) & 0xff, + 195 & 0xff} + }, + { + .description = "tun_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1127 >> 8) & 0xff, + 1127 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TUN_HDR_TYPE_UPAR2}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (297 >> 8) & 0xff, - 297 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (28 >> 8) & 0xff, - 28 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1134 >> 8) & 0xff, + 1134 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip.en", + .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (302 >> 8) & 0xff, - 302 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (29 >> 8) & 0xff, - 29 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1138 >> 8) & 0xff, + 1138 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (306 >> 8) & 0xff, - 306 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1142 >> 8) & 0xff, + 1142 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (315 >> 8) & 0xff, - 315 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (31 >> 8) & 0xff, - 31 & 0xff} + .description = "tl4_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1146 >> 8) & 0xff, + 1146 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL4_HDR_TYPE_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip.en", + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (320 >> 8) & 0xff, - 320 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (32 >> 8) & 0xff, - 32 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1150 >> 8) & 0xff, + 1150 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_dip.en", + .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (324 >> 8) & 0xff, - 324 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1154 >> 8) & 0xff, + 1154 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ttl.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (333 >> 8) & 0xff, - 333 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (34 >> 8) & 0xff, - 34 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1158 >> 8) & 0xff, + 1158 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (203 >> 8) & 0xff, + 203 & 0xff} }, { - .description = "l3_ttl.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (338 >> 8) & 0xff, - 338 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (35 >> 8) & 0xff, - 35 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1160 >> 8) & 0xff, + 1160 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ONES }, { - .description = "l3_ttl.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (342 >> 8) & 0xff, - 342 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1163 >> 8) & 0xff, + 1163 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL4_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (205 >> 8) & 0xff, + 205 & 0xff} }, { - .description = "l3_prot.en", + .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (351 >> 8) & 0xff, - 351 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (37 >> 8) & 0xff, - 37 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1165 >> 8) & 0xff, + 1165 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", + .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (356 >> 8) & 0xff, - 356 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (38 >> 8) & 0xff, - 38 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1168 >> 8) & 0xff, + 1168 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL3_HDR_ISIP_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (360 >> 8) & 0xff, - 360 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1172 >> 8) & 0xff, + 1172 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (369 >> 8) & 0xff, - 369 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (40 >> 8) & 0xff, - 40 & 0xff} + .description = "tl3_hdr_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1176 >> 8) & 0xff, + 1176 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (374 >> 8) & 0xff, - 374 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (41 >> 8) & 0xff, - 41 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1180 >> 8) & 0xff, + 1180 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", + .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (378 >> 8) & 0xff, - 378 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1184 >> 8) & 0xff, + 1184 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (384 >> 8) & 0xff, - 384 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1188 >> 8) & 0xff, + 1188 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL3_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", + .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (387 >> 8) & 0xff, - 387 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (44 >> 8) & 0xff, - 44 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1200 >> 8) & 0xff, + 1200 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_TL2_HDR_VALID_YES}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (388 >> 8) & 0xff, - 388 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1205 >> 8) & 0xff, + 1205 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (393 >> 8) & 0xff, - 393 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1216 >> 8) & 0xff, + 1216 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (396 >> 8) & 0xff, - 396 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (47 >> 8) & 0xff, - 47 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1250 >> 8) & 0xff, + 1250 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (397 >> 8) & 0xff, - 397 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "tl2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1260 >> 8) & 0xff, + 1260 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - /* class_tid: 1, , table: control.profile_tcam_priority */ { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (403 >> 8) & 0xff, - 403 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (49 >> 8) & 0xff, - 49 & 0xff} - }, + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1287 >> 8) & 0xff, + 1287 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (405 >> 8) & 0xff, - 405 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (50 >> 8) & 0xff, - 50 & 0xff} + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1292 >> 8) & 0xff, + 1292 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "", + .description = "tl3.ttl", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (407 >> 8) & 0xff, - 407 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (51 >> 8) & 0xff, - 51 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1313 >> 8) & 0xff, + 1313 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "", + .description = "tl3.ttl", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (409 >> 8) & 0xff, - 409 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (52 >> 8) & 0xff, - 52 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1321 >> 8) & 0xff, + 1321 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "", + .description = "tl3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (411 >> 8) & 0xff, - 411 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (53 >> 8) & 0xff, - 53 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1329 >> 8) & 0xff, + 1329 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "", + .description = "tl3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (413 >> 8) & 0xff, - 413 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (54 >> 8) & 0xff, - 54 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1337 >> 8) & 0xff, + 1337 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "", + .description = "tl3.qos", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (415 >> 8) & 0xff, - 415 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (55 >> 8) & 0xff, - 55 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1345 >> 8) & 0xff, + 1345 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "", + .description = "tl3.qos", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (417 >> 8) & 0xff, - 417 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - 2} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1353 >> 8) & 0xff, + 1353 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (421 >> 8) & 0xff, - 421 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (57 >> 8) & 0xff, - 57 & 0xff} + (1361 >> 8) & 0xff, + 1361 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (423 >> 8) & 0xff, - 423 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (58 >> 8) & 0xff, - 58 & 0xff} + (1369 >> 8) & 0xff, + 1369 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (425 >> 8) & 0xff, - 425 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1378 >> 8) & 0xff, + 1378 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tl4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (429 >> 8) & 0xff, - 429 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1387 >> 8) & 0xff, + 1387 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (60 >> 8) & 0xff, - 60 & 0xff} + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (431 >> 8) & 0xff, - 431 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1394 >> 8) & 0xff, + 1394 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (61 >> 8) & 0xff, - 61 & 0xff} + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, + .description = "tids", + .field_bit_size = 24, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (433 >> 8) & 0xff, - 433 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1400 >> 8) & 0xff, + 1400 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (437 >> 8) & 0xff, - 437 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (63 >> 8) & 0xff, - 63 & 0xff} + (1407 >> 8) & 0xff, + 1407 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "l2_dmac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (439 >> 8) & 0xff, - 439 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (64 >> 8) & 0xff, - 64 & 0xff} + (1414 >> 8) & 0xff, + 1414 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (441 >> 8) & 0xff, - 441 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1421 >> 8) & 0xff, + 1421 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "l2_smac", + .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (445 >> 8) & 0xff, - 445 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1428 >> 8) & 0xff, + 1428 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1436 >> 8) & 0xff, + 1436 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ovv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1445 >> 8) & 0xff, + 1445 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l2_ivv", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1454 >> 8) & 0xff, + 1454 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (66 >> 8) & 0xff, - 66 & 0xff} + (238 >> 8) & 0xff, + 238 & 0xff} }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (447 >> 8) & 0xff, - 447 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1459 >> 8) & 0xff, + 1459 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_TYPE_UDP}, + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (67 >> 8) & 0xff, - 67 & 0xff} + (239 >> 8) & 0xff, + 239 & 0xff} }, { - .description = "l4_hdr_type", - .field_bit_size = 4, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (449 >> 8) & 0xff, - 449 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1463 >> 8) & 0xff, + 1463 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (453 >> 8) & 0xff, - 453 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1472 >> 8) & 0xff, + 1472 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (69 >> 8) & 0xff, - 69 & 0xff} + (241 >> 8) & 0xff, + 241 & 0xff} }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (455 >> 8) & 0xff, - 455 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1477 >> 8) & 0xff, + 1477 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (70 >> 8) & 0xff, - 70 & 0xff} + (242 >> 8) & 0xff, + 242 & 0xff} }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "l2_ivv", + .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (457 >> 8) & 0xff, - 457 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1481 >> 8) & 0xff, + 1481 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "l2_etype", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (461 >> 8) & 0xff, - 461 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (72 >> 8) & 0xff, - 72 & 0xff} + (1490 >> 8) & 0xff, + 1490 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "l2_etype", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1499 >> 8) & 0xff, + 1499 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1507 >> 8) & 0xff, + 1507 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv4", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1514 >> 8) & 0xff, + 1514 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1521 >> 8) & 0xff, + 1521 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.sip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (463 >> 8) & 0xff, - 463 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (73 >> 8) & 0xff, - 73 & 0xff} + (1528 >> 8) & 0xff, + 1528 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_error", - .field_bit_size = 1, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (465 >> 8) & 0xff, - 465 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1535 >> 8) & 0xff, + 1535 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l3.dip.ipv4", + .field_bit_size = 32, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (469 >> 8) & 0xff, - 469 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (75 >> 8) & 0xff, - 75 & 0xff} + (1542 >> 8) & 0xff, + 1542 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (471 >> 8) & 0xff, - 471 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (76 >> 8) & 0xff, - 76 & 0xff} + (1549 >> 8) & 0xff, + 1549 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l3.dip.ipv6", + .field_bit_size = 128, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (473 >> 8) & 0xff, - 473 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1556 >> 8) & 0xff, + 1556 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (477 >> 8) & 0xff, - 477 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1563 >> 8) & 0xff, + 1563 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (78 >> 8) & 0xff, - 78 & 0xff} + (254 >> 8) & 0xff, + 254 & 0xff} }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (479 >> 8) & 0xff, - 479 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1567 >> 8) & 0xff, + 1567 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (79 >> 8) & 0xff, - 79 & 0xff} + (255 >> 8) & 0xff, + 255 & 0xff} }, { - .description = "l4_hdr_valid", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (481 >> 8) & 0xff, - 481 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1570 >> 8) & 0xff, + 1570 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (485 >> 8) & 0xff, - 485 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1577 >> 8) & 0xff, + 1577 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (81 >> 8) & 0xff, - 81 & 0xff} + (257 >> 8) & 0xff, + 257 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (487 >> 8) & 0xff, - 487 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1581 >> 8) & 0xff, + 1581 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_ISIP_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (82 >> 8) & 0xff, - 82 & 0xff} + (258 >> 8) & 0xff, + 258 & 0xff} }, { - .description = "l3_hdr_isIP", - .field_bit_size = 1, + .description = "l3.ttl", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (489 >> 8) & 0xff, - 489 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1584 >> 8) & 0xff, + 1584 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (493 >> 8) & 0xff, - 493 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (1590 >> 8) & 0xff, + 1590 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (84 >> 8) & 0xff, - 84 & 0xff} + (260 >> 8) & 0xff, + 260 & 0xff} }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (495 >> 8) & 0xff, - 495 & 0xff, + (1593 >> 8) & 0xff, + 1593 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (85 >> 8) & 0xff, - 85 & 0xff} + (261 >> 8) & 0xff, + 261 & 0xff} }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (497 >> 8) & 0xff, - 497 & 0xff, + (1595 >> 8) & 0xff, + 1595 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (262 >> 8) & 0xff, + 262 & 0xff} }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (501 >> 8) & 0xff, - 501 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1597 >> 8) & 0xff, + 1597 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (87 >> 8) & 0xff, - 87 & 0xff} + (263 >> 8) & 0xff, + 263 & 0xff} }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (503 >> 8) & 0xff, - 503 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1601 >> 8) & 0xff, + 1601 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (88 >> 8) & 0xff, - 88 & 0xff} + (264 >> 8) & 0xff, + 264 & 0xff} }, { - .description = "l3_hdr_type", - .field_bit_size = 4, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (505 >> 8) & 0xff, - 505 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1605 >> 8) & 0xff, + 1605 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (265 >> 8) & 0xff, + 265 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (509 >> 8) & 0xff, - 509 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1608 >> 8) & 0xff, + 1608 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1614 >> 8) & 0xff, + 1614 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_IP_PROTO_UDP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (90 >> 8) & 0xff, - 90 & 0xff} + (267 >> 8) & 0xff, + 267 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (511 >> 8) & 0xff, - 511 & 0xff, + (1617 >> 8) & 0xff, + 1617 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_IP_PROTO_TCP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (91 >> 8) & 0xff, - 91 & 0xff} + (268 >> 8) & 0xff, + 268 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (513 >> 8) & 0xff, - 513 & 0xff, + (1619 >> 8) & 0xff, + 1619 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + ULP_THOR_SYM_IP_PROTO_UDP}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (269 >> 8) & 0xff, + 269 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (517 >> 8) & 0xff, - 517 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1621 >> 8) & 0xff, + 1621 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (93 >> 8) & 0xff, - 93 & 0xff} + (270 >> 8) & 0xff, + 270 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (519 >> 8) & 0xff, - 519 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + (1625 >> 8) & 0xff, + 1625 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (94 >> 8) & 0xff, - 94 & 0xff} + (271 >> 8) & 0xff, + 271 & 0xff} }, { - .description = "l3_hdr_error", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (521 >> 8) & 0xff, - 521 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1629 >> 8) & 0xff, + 1629 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (272 >> 8) & 0xff, + 272 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (525 >> 8) & 0xff, - 525 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1632 >> 8) & 0xff, + 1632 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1639 >> 8) & 0xff, + 1639 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (96 >> 8) & 0xff, - 96 & 0xff} + (274 >> 8) & 0xff, + 274 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (527 >> 8) & 0xff, - 527 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1643 >> 8) & 0xff, + 1643 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (97 >> 8) & 0xff, - 97 & 0xff} + (275 >> 8) & 0xff, + 275 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (529 >> 8) & 0xff, - 529 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1646 >> 8) & 0xff, + 1646 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (533 >> 8) & 0xff, - 533 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1653 >> 8) & 0xff, + 1653 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (99 >> 8) & 0xff, - 99 & 0xff} + (277 >> 8) & 0xff, + 277 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (535 >> 8) & 0xff, - 535 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1657 >> 8) & 0xff, + 1657 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_VALID_YES}, + (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (100 >> 8) & 0xff, - 100 & 0xff} + (278 >> 8) & 0xff, + 278 & 0xff} }, { - .description = "l3_hdr_valid", - .field_bit_size = 1, + .description = "l3.qos", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (537 >> 8) & 0xff, - 537 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1660 >> 8) & 0xff, + 1660 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1667 >> 8) & 0xff, + 1667 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (280 >> 8) & 0xff, + 280 & 0xff} }, { - .description = "l2_two_vtags", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (542 >> 8) & 0xff, - 542 & 0xff, + (1671 >> 8) & 0xff, + 1671 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L2_TWO_VTAGS_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (281 >> 8) & 0xff, + 281 & 0xff} }, { - .description = "l2_vtag_present", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (548 >> 8) & 0xff, - 548 & 0xff, + (1674 >> 8) & 0xff, + 1674 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L2_VTAG_PRESENT_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (282 >> 8) & 0xff, + 282 & 0xff} }, { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (555 >> 8) & 0xff, - 555 & 0xff, + (1677 >> 8) & 0xff, + 1677 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST }, { - .description = "l2_hdr_error", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (559 >> 8) & 0xff, - 559 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1683 >> 8) & 0xff, + 1683 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (284 >> 8) & 0xff, + 284 & 0xff} }, { - .description = "l2_hdr_valid", - .field_bit_size = 1, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (563 >> 8) & 0xff, - 563 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1687 >> 8) & 0xff, + 1687 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_L2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (285 >> 8) & 0xff, + 285 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (567 >> 8) & 0xff, - 567 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1690 >> 8) & 0xff, + 1690 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (107 >> 8) & 0xff, - 107 & 0xff} + (286 >> 8) & 0xff, + 286 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.src", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (569 >> 8) & 0xff, - 569 & 0xff, + (1693 >> 8) & 0xff, + 1693 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (108 >> 8) & 0xff, - 108 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (571 >> 8) & 0xff, - 571 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1699 >> 8) & 0xff, + 1699 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (109 >> 8) & 0xff, - 109 & 0xff} + (288 >> 8) & 0xff, + 288 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (573 >> 8) & 0xff, - 573 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (1703 >> 8) & 0xff, + 1703 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (110 >> 8) & 0xff, - 110 & 0xff} + (289 >> 8) & 0xff, + 289 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (575 >> 8) & 0xff, - 575 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + (1706 >> 8) & 0xff, + 1706 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (290 >> 8) & 0xff, + 290 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (579 >> 8) & 0xff, - 579 & 0xff, + (1709 >> 8) & 0xff, + 1709 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (112 >> 8) & 0xff, - 112 & 0xff} + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (581 >> 8) & 0xff, - 581 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1715 >> 8) & 0xff, + 1715 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE}, + (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (113 >> 8) & 0xff, - 113 & 0xff} + (292 >> 8) & 0xff, + 292 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (583 >> 8) & 0xff, - 583 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1719 >> 8) & 0xff, + 1719 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_TUN_HDR_TYPE_GRE}, + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (114 >> 8) & 0xff, - 114 & 0xff} + (293 >> 8) & 0xff, + 293 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (585 >> 8) & 0xff, - 585 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (1722 >> 8) & 0xff, + 1722 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { - ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1}, + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (115 >> 8) & 0xff, - 115 & 0xff} + (294 >> 8) & 0xff, + 294 & 0xff} }, { - .description = "tun_hdr_type", - .field_bit_size = 4, + .description = "l4.dst", + .field_bit_size = 16, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (587 >> 8) & 0xff, - 587 & 0xff, + (1725 >> 8) & 0xff, + 1725 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TUN_HDR_TYPE_UPAR2}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, + { + .description = "tl2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1759 >> 8) & 0xff, + 1759 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_sip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1773 >> 8) & 0xff, + 1773 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_dip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1781 >> 8) & 0xff, + 1781 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1789 >> 8) & 0xff, + 1789 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_prot.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1797 >> 8) & 0xff, + 1797 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_qos.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1805 >> 8) & 0xff, + 1805 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1813 >> 8) & 0xff, + 1813 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl4_dst.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1822 >> 8) & 0xff, + 1822 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tids.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1829 >> 8) & 0xff, + 1829 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_dmac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1837 >> 8) & 0xff, + 1837 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1845 >> 8) & 0xff, + 1845 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_ovv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1853 >> 8) & 0xff, + 1853 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1862 >> 8) & 0xff, + 1862 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (308 >> 8) & 0xff, + 308 & 0xff} + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1867 >> 8) & 0xff, + 1867 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (309 >> 8) & 0xff, + 309 & 0xff} + }, + { + .description = "l2_ivv.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1871 >> 8) & 0xff, + 1871 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l2_etype.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1880 >> 8) & 0xff, + 1880 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_sip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1888 >> 8) & 0xff, + 1888 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (312 >> 8) & 0xff, + 312 & 0xff} + }, + { + .description = "l3_sip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1892 >> 8) & 0xff, + 1892 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (313 >> 8) & 0xff, + 313 & 0xff} + }, + { + .description = "l3_sip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1895 >> 8) & 0xff, + 1895 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "l3_dip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1902 >> 8) & 0xff, + 1902 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (315 >> 8) & 0xff, + 315 & 0xff} }, { - .description = "tl4_hdr_is_udp_tcp", + .description = "l3_dip.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (594 >> 8) & 0xff, - 594 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1906 >> 8) & 0xff, + 1906 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (316 >> 8) & 0xff, + 316 & 0xff} }, { - .description = "tl4_hdr_is_udp_tcp", + .description = "l3_dip.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (598 >> 8) & 0xff, - 598 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL4_HDR_IS_UDP_TCP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1909 >> 8) & 0xff, + 1909 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (602 >> 8) & 0xff, - 602 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1916 >> 8) & 0xff, + 1916 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (318 >> 8) & 0xff, + 318 & 0xff} }, { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (606 >> 8) & 0xff, - 606 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL4_HDR_TYPE_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3_ttl.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1920 >> 8) & 0xff, + 1920 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (319 >> 8) & 0xff, + 319 & 0xff} }, { - .description = "tl4_hdr_error", + .description = "l3_ttl.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (610 >> 8) & 0xff, - 610 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1923 >> 8) & 0xff, + 1923 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_hdr_error", + .description = "l3_prot.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (614 >> 8) & 0xff, - 614 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1930 >> 8) & 0xff, + 1930 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (321 >> 8) & 0xff, + 321 & 0xff} }, { - .description = "tl4_hdr_valid", + .description = "l3_prot.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (618 >> 8) & 0xff, - 618 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (123 >> 8) & 0xff, - 123 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1934 >> 8) & 0xff, + 1934 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (322 >> 8) & 0xff, + 322 & 0xff} }, { - .description = "tl4_hdr_valid", + .description = "l3_prot.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (620 >> 8) & 0xff, - 620 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ONES + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1937 >> 8) & 0xff, + 1937 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl4_hdr_valid", + .description = "l3_qos.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (623 >> 8) & 0xff, - 623 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL4_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (125 >> 8) & 0xff, - 125 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1944 >> 8) & 0xff, + 1944 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (324 >> 8) & 0xff, + 324 & 0xff} }, { - .description = "tl4_hdr_valid", + .description = "l3_qos.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (625 >> 8) & 0xff, - 625 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1948 >> 8) & 0xff, + 1948 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (325 >> 8) & 0xff, + 325 & 0xff} }, { - .description = "tl3_hdr_isIP", + .description = "l3_qos.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (628 >> 8) & 0xff, - 628 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL3_HDR_ISIP_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1951 >> 8) & 0xff, + 1951 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (632 >> 8) & 0xff, - 632 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1958 >> 8) & 0xff, + 1958 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (327 >> 8) & 0xff, + 327 & 0xff} }, { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (636 >> 8) & 0xff, - 636 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4_src.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1962 >> 8) & 0xff, + 1962 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (328 >> 8) & 0xff, + 328 & 0xff} }, { - .description = "tl3_hdr_error", + .description = "l4_src.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (640 >> 8) & 0xff, - 640 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1965 >> 8) & 0xff, + 1965 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "tl3_hdr_error", + .description = "l4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (644 >> 8) & 0xff, - 644 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1972 >> 8) & 0xff, + 1972 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (330 >> 8) & 0xff, + 330 & 0xff} }, { - .description = "tl3_hdr_valid", + .description = "l4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (648 >> 8) & 0xff, - 648 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL3_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1976 >> 8) & 0xff, + 1976 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (331 >> 8) & 0xff, + 331 & 0xff} }, { - .description = "tl2_hdr_valid", + .description = "l4_dst.en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (660 >> 8) & 0xff, - 660 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_TL2_HDR_VALID_YES}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (1979 >> 8) & 0xff, + 1979 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl2_ivv", @@ -37975,14 +51408,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (705 >> 8) & 0xff, - 705 & 0xff, + (2025 >> 8) & 0xff, + 2025 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -37991,8 +51421,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (715 >> 8) & 0xff, - 715 & 0xff, + (2035 >> 8) & 0xff, + 2035 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38001,52 +51431,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, - { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (742 >> 8) & 0xff, - 742 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "tl3.sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (747 >> 8) & 0xff, - 747 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, { .description = "tl3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (768 >> 8) & 0xff, - 768 & 0xff, + (2086 >> 8) & 0xff, + 2086 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38055,8 +51450,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (776 >> 8) & 0xff, - 776 & 0xff, + (2094 >> 8) & 0xff, + 2094 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38071,14 +51466,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (784 >> 8) & 0xff, - 784 & 0xff, + (2102 >> 8) & 0xff, + 2102 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38087,8 +51479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (792 >> 8) & 0xff, - 792 & 0xff, + (2110 >> 8) & 0xff, + 2110 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38103,14 +51495,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (800 >> 8) & 0xff, - 800 & 0xff, + (2118 >> 8) & 0xff, + 2118 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38119,8 +51508,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (808 >> 8) & 0xff, - 808 & 0xff, + (2126 >> 8) & 0xff, + 2126 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38135,14 +51524,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (816 >> 8) & 0xff, - 816 & 0xff, + (2134 >> 8) & 0xff, + 2134 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38151,8 +51537,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (824 >> 8) & 0xff, - 824 & 0xff, + (2142 >> 8) & 0xff, + 2142 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38167,14 +51553,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (833 >> 8) & 0xff, - 833 & 0xff, + (2151 >> 8) & 0xff, + 2151 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38183,8 +51566,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (842 >> 8) & 0xff, - 842 & 0xff, + (2160 >> 8) & 0xff, + 2160 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38199,14 +51582,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (849 >> 8) & 0xff, - 849 & 0xff, + (2167 >> 8) & 0xff, + 2167 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38215,8 +51595,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (855 >> 8) & 0xff, - 855 & 0xff, + (2173 >> 8) & 0xff, + 2173 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38231,14 +51611,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (862 >> 8) & 0xff, - 862 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + (2181 >> 8) & 0xff, + 2181 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38247,10 +51624,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (869 >> 8) & 0xff, - 869 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2190 >> 8) & 0xff, + 2190 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -38263,14 +51640,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (876 >> 8) & 0xff, - 876 & 0xff, + (2198 >> 8) & 0xff, + 2198 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38279,8 +51653,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (883 >> 8) & 0xff, - 883 & 0xff, + (2205 >> 8) & 0xff, + 2205 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38295,14 +51669,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (891 >> 8) & 0xff, - 891 & 0xff, + (2213 >> 8) & 0xff, + 2213 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38311,8 +51682,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (900 >> 8) & 0xff, - 900 & 0xff, + (2222 >> 8) & 0xff, + 2222 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38327,18 +51698,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (909 >> 8) & 0xff, - 909 & 0xff, + (2231 >> 8) & 0xff, + 2231 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (156 >> 8) & 0xff, - 156 & 0xff} + (353 >> 8) & 0xff, + 353 & 0xff} }, { .description = "l2_ivv", @@ -38346,18 +51714,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (914 >> 8) & 0xff, - 914 & 0xff, + (2236 >> 8) & 0xff, + 2236 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (157 >> 8) & 0xff, - 157 & 0xff} + (354 >> 8) & 0xff, + 354 & 0xff} }, { .description = "l2_ivv", @@ -38365,14 +51730,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (918 >> 8) & 0xff, - 918 & 0xff, + (2240 >> 8) & 0xff, + 2240 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38381,8 +51743,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (927 >> 8) & 0xff, - 927 & 0xff, + (2249 >> 8) & 0xff, + 2249 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38391,8 +51753,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (159 >> 8) & 0xff, - 159 & 0xff} + (356 >> 8) & 0xff, + 356 & 0xff} }, { .description = "l2_ivv", @@ -38400,8 +51762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (932 >> 8) & 0xff, - 932 & 0xff, + (2254 >> 8) & 0xff, + 2254 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38410,8 +51772,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (160 >> 8) & 0xff, - 160 & 0xff} + (357 >> 8) & 0xff, + 357 & 0xff} }, { .description = "l2_ivv", @@ -38419,8 +51781,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (936 >> 8) & 0xff, - 936 & 0xff, + (2258 >> 8) & 0xff, + 2258 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38435,14 +51797,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (945 >> 8) & 0xff, - 945 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + (2267 >> 8) & 0xff, + 2267 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38451,8 +51810,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (954 >> 8) & 0xff, - 954 & 0xff, + (2276 >> 8) & 0xff, + 2276 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38467,14 +51826,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (962 >> 8) & 0xff, - 962 & 0xff, + (2284 >> 8) & 0xff, + 2284 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38483,8 +51839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (969 >> 8) & 0xff, - 969 & 0xff, + (2291 >> 8) & 0xff, + 2291 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38499,14 +51855,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (976 >> 8) & 0xff, - 976 & 0xff, + (2298 >> 8) & 0xff, + 2298 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38515,8 +51868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (983 >> 8) & 0xff, - 983 & 0xff, + (2305 >> 8) & 0xff, + 2305 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38531,14 +51884,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (990 >> 8) & 0xff, - 990 & 0xff, + (2312 >> 8) & 0xff, + 2312 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38547,8 +51897,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (997 >> 8) & 0xff, - 997 & 0xff, + (2319 >> 8) & 0xff, + 2319 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38563,14 +51913,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1004 >> 8) & 0xff, - 1004 & 0xff, + (2326 >> 8) & 0xff, + 2326 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38579,8 +51926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1011 >> 8) & 0xff, - 1011 & 0xff, + (2333 >> 8) & 0xff, + 2333 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38595,18 +51942,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1018 >> 8) & 0xff, - 1018 & 0xff, + (2340 >> 8) & 0xff, + 2340 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (172 >> 8) & 0xff, - 172 & 0xff} + (369 >> 8) & 0xff, + 369 & 0xff} }, { .description = "l3.ttl", @@ -38614,18 +51958,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1022 >> 8) & 0xff, - 1022 & 0xff, + (2344 >> 8) & 0xff, + 2344 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (173 >> 8) & 0xff, - 173 & 0xff} + (370 >> 8) & 0xff, + 370 & 0xff} }, { .description = "l3.ttl", @@ -38633,14 +51974,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1025 >> 8) & 0xff, - 1025 & 0xff, + (2347 >> 8) & 0xff, + 2347 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38649,8 +51987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1032 >> 8) & 0xff, - 1032 & 0xff, + (2354 >> 8) & 0xff, + 2354 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38659,8 +51997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (175 >> 8) & 0xff, - 175 & 0xff} + (372 >> 8) & 0xff, + 372 & 0xff} }, { .description = "l3.ttl", @@ -38668,8 +52006,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1036 >> 8) & 0xff, - 1036 & 0xff, + (2358 >> 8) & 0xff, + 2358 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38678,8 +52016,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (176 >> 8) & 0xff, - 176 & 0xff} + (373 >> 8) & 0xff, + 373 & 0xff} }, { .description = "l3.ttl", @@ -38687,8 +52025,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1039 >> 8) & 0xff, - 1039 & 0xff, + (2361 >> 8) & 0xff, + 2361 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38703,85 +52041,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1045 >> 8) & 0xff, - 1045 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (178 >> 8) & 0xff, - 178 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1048 >> 8) & 0xff, - 1048 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (179 >> 8) & 0xff, - 179 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1050 >> 8) & 0xff, - 1050 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (180 >> 8) & 0xff, - 180 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1052 >> 8) & 0xff, - 1052 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (181 >> 8) & 0xff, - 181 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1056 >> 8) & 0xff, - 1056 & 0xff, + (2368 >> 8) & 0xff, + 2368 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (182 >> 8) & 0xff, - 182 & 0xff} + (375 >> 8) & 0xff, + 375 & 0xff} }, { .description = "l3.prot", @@ -38789,18 +52057,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1060 >> 8) & 0xff, - 1060 & 0xff, + (2372 >> 8) & 0xff, + 2372 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (183 >> 8) & 0xff, - 183 & 0xff} + (376 >> 8) & 0xff, + 376 & 0xff} }, { .description = "l3.prot", @@ -38808,14 +52073,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1063 >> 8) & 0xff, - 1063 & 0xff, + (2375 >> 8) & 0xff, + 2375 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -38824,81 +52086,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1069 >> 8) & 0xff, - 1069 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_IP_PROTO_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (185 >> 8) & 0xff, - 185 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1072 >> 8) & 0xff, - 1072 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_IP_PROTO_TCP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (186 >> 8) & 0xff, - 186 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1074 >> 8) & 0xff, - 1074 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_IP_PROTO_UDP}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (187 >> 8) & 0xff, - 187 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1076 >> 8) & 0xff, - 1076 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (188 >> 8) & 0xff, - 188 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1080 >> 8) & 0xff, - 1080 & 0xff, + (2382 >> 8) & 0xff, + 2382 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38907,8 +52096,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (189 >> 8) & 0xff, - 189 & 0xff} + (378 >> 8) & 0xff, + 378 & 0xff} }, { .description = "l3.prot", @@ -38916,8 +52105,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1084 >> 8) & 0xff, - 1084 & 0xff, + (2386 >> 8) & 0xff, + 2386 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38926,8 +52115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (190 >> 8) & 0xff, - 190 & 0xff} + (379 >> 8) & 0xff, + 379 & 0xff} }, { .description = "l3.prot", @@ -38935,8 +52124,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1087 >> 8) & 0xff, - 1087 & 0xff, + (2389 >> 8) & 0xff, + 2389 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -38951,18 +52140,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1094 >> 8) & 0xff, - 1094 & 0xff, + (2396 >> 8) & 0xff, + 2396 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (192 >> 8) & 0xff, - 192 & 0xff} + (381 >> 8) & 0xff, + 381 & 0xff} }, { .description = "l3.qos", @@ -38970,18 +52156,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1098 >> 8) & 0xff, - 1098 & 0xff, + (2400 >> 8) & 0xff, + 2400 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (193 >> 8) & 0xff, - 193 & 0xff} + (382 >> 8) & 0xff, + 382 & 0xff} }, { .description = "l3.qos", @@ -38989,14 +52172,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1101 >> 8) & 0xff, - 1101 & 0xff, + (2403 >> 8) & 0xff, + 2403 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -39005,8 +52185,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1108 >> 8) & 0xff, - 1108 & 0xff, + (2410 >> 8) & 0xff, + 2410 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39015,8 +52195,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (195 >> 8) & 0xff, - 195 & 0xff} + (384 >> 8) & 0xff, + 384 & 0xff} }, { .description = "l3.qos", @@ -39024,8 +52204,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1112 >> 8) & 0xff, - 1112 & 0xff, + (2414 >> 8) & 0xff, + 2414 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39034,8 +52214,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (196 >> 8) & 0xff, - 196 & 0xff} + (385 >> 8) & 0xff, + 385 & 0xff} }, { .description = "l3.qos", @@ -39043,8 +52223,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1115 >> 8) & 0xff, - 1115 & 0xff, + (2417 >> 8) & 0xff, + 2417 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39059,18 +52239,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1122 >> 8) & 0xff, - 1122 & 0xff, + (2424 >> 8) & 0xff, + 2424 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (198 >> 8) & 0xff, - 198 & 0xff} + (387 >> 8) & 0xff, + 387 & 0xff} }, { .description = "l4.src", @@ -39078,18 +52255,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1126 >> 8) & 0xff, - 1126 & 0xff, + (2428 >> 8) & 0xff, + 2428 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (199 >> 8) & 0xff, - 199 & 0xff} + (388 >> 8) & 0xff, + 388 & 0xff} }, { .description = "l4.src", @@ -39097,31 +52271,12 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1129 >> 8) & 0xff, - 1129 & 0xff, + (2431 >> 8) & 0xff, + 2431 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (200 >> 8) & 0xff, - 200 & 0xff} - }, - { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1132 >> 8) & 0xff, - 1132 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { .description = "l4.src", @@ -39129,8 +52284,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1138 >> 8) & 0xff, - 1138 & 0xff, + (2438 >> 8) & 0xff, + 2438 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39139,8 +52294,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (202 >> 8) & 0xff, - 202 & 0xff} + (390 >> 8) & 0xff, + 390 & 0xff} }, { .description = "l4.src", @@ -39148,8 +52303,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1142 >> 8) & 0xff, - 1142 & 0xff, + (2442 >> 8) & 0xff, + 2442 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39158,8 +52313,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (203 >> 8) & 0xff, - 203 & 0xff} + (391 >> 8) & 0xff, + 391 & 0xff} }, { .description = "l4.src", @@ -39167,31 +52322,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1145 >> 8) & 0xff, - 1145 & 0xff, + (2445 >> 8) & 0xff, + 2445 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (204 >> 8) & 0xff, - 204 & 0xff} - }, - { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1148 >> 8) & 0xff, - 1148 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { .description = "l4.dst", @@ -39199,18 +52338,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1154 >> 8) & 0xff, - 1154 & 0xff, + (2452 >> 8) & 0xff, + 2452 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (206 >> 8) & 0xff, - 206 & 0xff} + (393 >> 8) & 0xff, + 393 & 0xff} }, { .description = "l4.dst", @@ -39218,18 +52354,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1158 >> 8) & 0xff, - 1158 & 0xff, + (2456 >> 8) & 0xff, + 2456 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (207 >> 8) & 0xff, - 207 & 0xff} + (394 >> 8) & 0xff, + 394 & 0xff} }, { .description = "l4.dst", @@ -39237,31 +52370,12 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1161 >> 8) & 0xff, - 1161 & 0xff, + (2459 >> 8) & 0xff, + 2459 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (208 >> 8) & 0xff, - 208 & 0xff} - }, - { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1164 >> 8) & 0xff, - 1164 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { .description = "l4.dst", @@ -39269,8 +52383,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1170 >> 8) & 0xff, - 1170 & 0xff, + (2466 >> 8) & 0xff, + 2466 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39279,8 +52393,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (210 >> 8) & 0xff, - 210 & 0xff} + (396 >> 8) & 0xff, + 396 & 0xff} }, { .description = "l4.dst", @@ -39288,8 +52402,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1174 >> 8) & 0xff, - 1174 & 0xff, + (2470 >> 8) & 0xff, + 2470 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -39298,8 +52412,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (211 >> 8) & 0xff, - 211 & 0xff} + (397 >> 8) & 0xff, + 397 & 0xff} }, { .description = "l4.dst", @@ -39307,31 +52421,100 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1177 >> 8) & 0xff, - 1177 & 0xff, + (2473 >> 8) & 0xff, + 2473 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, .field_opr2 = { (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (212 >> 8) & 0xff, - 212 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, + /* class_tid: 2, , table: control.terminating_flow */ { - .description = "l4.dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (1180 >> 8) & 0xff, - 1180 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2569 >> 8) & 0xff, + 2569 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (399 >> 8) & 0xff, + 399 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2571 >> 8) & 0xff, + 2571 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (400 >> 8) & 0xff, + 400 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2573 >> 8) & 0xff, + 2573 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (401 >> 8) & 0xff, + 401 & 0xff} + }, + { + .description = "", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2575 >> 8) & 0xff, + 2575 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl2_smac.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2601 >> 8) & 0xff, + 2601 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { + 1} }, { .description = "tl2_ivv.en", @@ -39339,8 +52522,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1214 >> 8) & 0xff, - 1214 & 0xff, + (2614 >> 8) & 0xff, + 2614 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39354,8 +52537,23 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1228 >> 8) & 0xff, - 1228 & 0xff, + (2628 >> 8) & 0xff, + 2628 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr2 = { + 1}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl3_sip.en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2629 >> 8) & 0xff, + 2629 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39369,8 +52567,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1236 >> 8) & 0xff, - 1236 & 0xff, + (2637 >> 8) & 0xff, + 2637 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39384,8 +52582,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1244 >> 8) & 0xff, - 1244 & 0xff, + (2645 >> 8) & 0xff, + 2645 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39399,8 +52597,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1252 >> 8) & 0xff, - 1252 & 0xff, + (2653 >> 8) & 0xff, + 2653 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39414,8 +52612,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1260 >> 8) & 0xff, - 1260 & 0xff, + (2661 >> 8) & 0xff, + 2661 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39429,8 +52627,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1268 >> 8) & 0xff, - 1268 & 0xff, + (2669 >> 8) & 0xff, + 2669 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39444,8 +52642,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1277 >> 8) & 0xff, - 1277 & 0xff, + (2678 >> 8) & 0xff, + 2678 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39459,8 +52657,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1284 >> 8) & 0xff, - 1284 & 0xff, + (2685 >> 8) & 0xff, + 2685 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39474,10 +52672,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1292 >> 8) & 0xff, - 1292 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2692 >> 8) & 0xff, + 2692 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, @@ -39489,8 +52687,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1300 >> 8) & 0xff, - 1300 & 0xff, + (2699 >> 8) & 0xff, + 2699 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39504,8 +52702,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1308 >> 8) & 0xff, - 1308 & 0xff, + (2707 >> 8) & 0xff, + 2707 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39519,8 +52717,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1317 >> 8) & 0xff, - 1317 & 0xff, + (2716 >> 8) & 0xff, + 2716 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39528,8 +52726,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (226 >> 8) & 0xff, - 226 & 0xff} + (417 >> 8) & 0xff, + 417 & 0xff} }, { .description = "l2_ivv.en", @@ -39537,8 +52735,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1322 >> 8) & 0xff, - 1322 & 0xff, + (2721 >> 8) & 0xff, + 2721 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39546,8 +52744,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (227 >> 8) & 0xff, - 227 & 0xff} + (418 >> 8) & 0xff, + 418 & 0xff} }, { .description = "l2_ivv.en", @@ -39555,8 +52753,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1326 >> 8) & 0xff, - 1326 & 0xff, + (2725 >> 8) & 0xff, + 2725 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39570,8 +52768,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1335 >> 8) & 0xff, - 1335 & 0xff, + (2734 >> 8) & 0xff, + 2734 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39585,17 +52783,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1343 >> 8) & 0xff, - 1343 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2743 >> 8) & 0xff, + 2743 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (230 >> 8) & 0xff, - 230 & 0xff} + (421 >> 8) & 0xff, + 421 & 0xff} }, { .description = "l3_sip.en", @@ -39603,17 +52801,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1347 >> 8) & 0xff, - 1347 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2748 >> 8) & 0xff, + 2748 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (231 >> 8) & 0xff, - 231 & 0xff} + (422 >> 8) & 0xff, + 422 & 0xff} }, { .description = "l3_sip.en", @@ -39621,10 +52819,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1350 >> 8) & 0xff, - 1350 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2752 >> 8) & 0xff, + 2752 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, @@ -39636,17 +52834,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1357 >> 8) & 0xff, - 1357 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2761 >> 8) & 0xff, + 2761 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (233 >> 8) & 0xff, - 233 & 0xff} + (424 >> 8) & 0xff, + 424 & 0xff} }, { .description = "l3_dip.en", @@ -39654,17 +52852,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1361 >> 8) & 0xff, - 1361 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2766 >> 8) & 0xff, + 2766 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (234 >> 8) & 0xff, - 234 & 0xff} + (425 >> 8) & 0xff, + 425 & 0xff} }, { .description = "l3_dip.en", @@ -39672,10 +52870,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1364 >> 8) & 0xff, - 1364 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2770 >> 8) & 0xff, + 2770 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, @@ -39687,17 +52885,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1371 >> 8) & 0xff, - 1371 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2779 >> 8) & 0xff, + 2779 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (236 >> 8) & 0xff, - 236 & 0xff} + (427 >> 8) & 0xff, + 427 & 0xff} }, { .description = "l3_ttl.en", @@ -39705,17 +52903,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1375 >> 8) & 0xff, - 1375 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2784 >> 8) & 0xff, + 2784 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (237 >> 8) & 0xff, - 237 & 0xff} + (428 >> 8) & 0xff, + 428 & 0xff} }, { .description = "l3_ttl.en", @@ -39723,10 +52921,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1378 >> 8) & 0xff, - 1378 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2788 >> 8) & 0xff, + 2788 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, @@ -39738,17 +52936,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1385 >> 8) & 0xff, - 1385 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2797 >> 8) & 0xff, + 2797 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (239 >> 8) & 0xff, - 239 & 0xff} + (430 >> 8) & 0xff, + 430 & 0xff} }, { .description = "l3_prot.en", @@ -39756,17 +52954,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1389 >> 8) & 0xff, - 1389 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2802 >> 8) & 0xff, + 2802 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (240 >> 8) & 0xff, - 240 & 0xff} + (431 >> 8) & 0xff, + 431 & 0xff} }, { .description = "l3_prot.en", @@ -39774,10 +52972,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1392 >> 8) & 0xff, - 1392 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2806 >> 8) & 0xff, + 2806 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, @@ -39789,17 +52987,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1399 >> 8) & 0xff, - 1399 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2815 >> 8) & 0xff, + 2815 & 0xff, + (5 >> 8) & 0xff, + 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (242 >> 8) & 0xff, - 242 & 0xff} + (433 >> 8) & 0xff, + 433 & 0xff} }, { .description = "l3_qos.en", @@ -39807,17 +53005,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1403 >> 8) & 0xff, - 1403 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2820 >> 8) & 0xff, + 2820 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (243 >> 8) & 0xff, - 243 & 0xff} + (434 >> 8) & 0xff, + 434 & 0xff} }, { .description = "l3_qos.en", @@ -39825,10 +53023,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1406 >> 8) & 0xff, - 1406 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, + (2824 >> 8) & 0xff, + 2824 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, @@ -39838,19 +53036,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .description = "l4_src.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1413 >> 8) & 0xff, - 1413 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2830 >> 8) & 0xff, + 2830 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (245 >> 8) & 0xff, - 245 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l4_src.en", @@ -39858,26 +53053,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1417 >> 8) & 0xff, - 1417 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2833 >> 8) & 0xff, + 2833 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (246 >> 8) & 0xff, - 246 & 0xff} + (437 >> 8) & 0xff, + 437 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l4_src.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1420 >> 8) & 0xff, - 1420 & 0xff, + (2834 >> 8) & 0xff, + 2834 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39889,19 +53082,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .description = "l4_dst.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1427 >> 8) & 0xff, - 1427 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, + (2839 >> 8) & 0xff, + 2839 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (248 >> 8) & 0xff, - 248 & 0xff} + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l4_dst.en", @@ -39909,26 +53099,24 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1431 >> 8) & 0xff, - 1431 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + (2842 >> 8) & 0xff, + 2842 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (249 >> 8) & 0xff, - 249 & 0xff} + (440 >> 8) & 0xff, + 440 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l4_dst.en", .field_bit_size = 1, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1434 >> 8) & 0xff, - 1434 & 0xff, + (2843 >> 8) & 0xff, + 2843 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -39936,17 +53124,43 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, + { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2871 >> 8) & 0xff, + 2871 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "tl2_smac", + .field_bit_size = 48, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2878 >> 8) & 0xff, + 2878 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST + }, { .description = "tl2_ivv", .field_bit_size = 12, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1480 >> 8) & 0xff, - 1480 & 0xff, + (2896 >> 8) & 0xff, + 2896 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -39955,14 +53169,37 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1490 >> 8) & 0xff, - 1490 & 0xff, + (2906 >> 8) & 0xff, + 2906 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2933 >> 8) & 0xff, + 2933 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + }, + { + .description = "tl3.sip.ipv6", + .field_bit_size = 128, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (2938 >> 8) & 0xff, + 2938 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -39971,11 +53208,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1541 >> 8) & 0xff, - 1541 & 0xff, + (2959 >> 8) & 0xff, + 2959 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -39984,14 +53221,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1549 >> 8) & 0xff, - 1549 & 0xff, + (2967 >> 8) & 0xff, + 2967 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40000,11 +53234,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1557 >> 8) & 0xff, - 1557 & 0xff, + (2975 >> 8) & 0xff, + 2975 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40013,14 +53247,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1565 >> 8) & 0xff, - 1565 & 0xff, + (2983 >> 8) & 0xff, + 2983 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40029,11 +53260,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1573 >> 8) & 0xff, - 1573 & 0xff, + (2991 >> 8) & 0xff, + 2991 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40042,14 +53273,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1581 >> 8) & 0xff, - 1581 & 0xff, + (2999 >> 8) & 0xff, + 2999 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40058,11 +53286,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1589 >> 8) & 0xff, - 1589 & 0xff, + (3007 >> 8) & 0xff, + 3007 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40071,14 +53299,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1597 >> 8) & 0xff, - 1597 & 0xff, + (3015 >> 8) & 0xff, + 3015 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40087,11 +53312,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1606 >> 8) & 0xff, - 1606 & 0xff, + (3024 >> 8) & 0xff, + 3024 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40100,14 +53325,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1615 >> 8) & 0xff, - 1615 & 0xff, + (3033 >> 8) & 0xff, + 3033 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40116,11 +53338,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1622 >> 8) & 0xff, - 1622 & 0xff, + (3040 >> 8) & 0xff, + 3040 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40129,14 +53351,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1628 >> 8) & 0xff, - 1628 & 0xff, + (3046 >> 8) & 0xff, + 3046 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_T_VXLAN_GPE_VNI & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40145,11 +53364,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1636 >> 8) & 0xff, - 1636 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3053 >> 8) & 0xff, + 3053 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40158,14 +53377,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1645 >> 8) & 0xff, - 1645 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + (3060 >> 8) & 0xff, + 3060 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40174,11 +53390,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1653 >> 8) & 0xff, - 1653 & 0xff, + (3067 >> 8) & 0xff, + 3067 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40187,14 +53403,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1660 >> 8) & 0xff, - 1660 & 0xff, + (3074 >> 8) & 0xff, + 3074 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40203,11 +53416,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1668 >> 8) & 0xff, - 1668 & 0xff, + (3082 >> 8) & 0xff, + 3082 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40216,14 +53429,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1677 >> 8) & 0xff, - 1677 & 0xff, + (3091 >> 8) & 0xff, + 3091 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40232,15 +53442,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1686 >> 8) & 0xff, - 1686 & 0xff, + (3100 >> 8) & 0xff, + 3100 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (271 >> 8) & 0xff, - 271 & 0xff} + (466 >> 8) & 0xff, + 466 & 0xff} }, { .description = "l2_ivv", @@ -40248,15 +53458,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1691 >> 8) & 0xff, - 1691 & 0xff, + (3105 >> 8) & 0xff, + 3105 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (272 >> 8) & 0xff, - 272 & 0xff} + (467 >> 8) & 0xff, + 467 & 0xff} }, { .description = "l2_ivv", @@ -40264,11 +53474,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1695 >> 8) & 0xff, - 1695 & 0xff, + (3109 >> 8) & 0xff, + 3109 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40277,18 +53487,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1704 >> 8) & 0xff, - 1704 & 0xff, + (3118 >> 8) & 0xff, + 3118 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (274 >> 8) & 0xff, - 274 & 0xff} + (469 >> 8) & 0xff, + 469 & 0xff} }, { .description = "l2_ivv", @@ -40296,18 +53503,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1709 >> 8) & 0xff, - 1709 & 0xff, + (3123 >> 8) & 0xff, + 3123 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (275 >> 8) & 0xff, - 275 & 0xff} + (470 >> 8) & 0xff, + 470 & 0xff} }, { .description = "l2_ivv", @@ -40315,14 +53519,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1713 >> 8) & 0xff, - 1713 & 0xff, + (3127 >> 8) & 0xff, + 3127 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40331,11 +53532,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1722 >> 8) & 0xff, - 1722 & 0xff, + (3136 >> 8) & 0xff, + 3136 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40344,14 +53545,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1731 >> 8) & 0xff, - 1731 & 0xff, + (3145 >> 8) & 0xff, + 3145 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_TYPE >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_TYPE & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40360,11 +53558,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1739 >> 8) & 0xff, - 1739 & 0xff, + (3153 >> 8) & 0xff, + 3153 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40373,14 +53571,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1746 >> 8) & 0xff, - 1746 & 0xff, + (3160 >> 8) & 0xff, + 3160 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40389,11 +53584,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1753 >> 8) & 0xff, - 1753 & 0xff, + (3167 >> 8) & 0xff, + 3167 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40402,14 +53597,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1760 >> 8) & 0xff, - 1760 & 0xff, + (3174 >> 8) & 0xff, + 3174 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40418,11 +53610,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1767 >> 8) & 0xff, - 1767 & 0xff, + (3181 >> 8) & 0xff, + 3181 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40431,14 +53623,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1774 >> 8) & 0xff, - 1774 & 0xff, + (3188 >> 8) & 0xff, + 3188 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40447,11 +53636,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1781 >> 8) & 0xff, - 1781 & 0xff, + (3195 >> 8) & 0xff, + 3195 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { @@ -40460,1203 +53649,654 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1788 >> 8) & 0xff, - 1788 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1795 >> 8) & 0xff, - 1795 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (287 >> 8) & 0xff, - 287 & 0xff} - }, - { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1799 >> 8) & 0xff, - 1799 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (288 >> 8) & 0xff, - 288 & 0xff} - }, - { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1802 >> 8) & 0xff, - 1802 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1809 >> 8) & 0xff, - 1809 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (290 >> 8) & 0xff, - 290 & 0xff} - }, - { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1813 >> 8) & 0xff, - 1813 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (291 >> 8) & 0xff, - 291 & 0xff} - }, - { - .description = "l3.ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1816 >> 8) & 0xff, - 1816 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_TTL >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_TTL & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1823 >> 8) & 0xff, - 1823 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (293 >> 8) & 0xff, - 293 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1827 >> 8) & 0xff, - 1827 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (294 >> 8) & 0xff, - 294 & 0xff} - }, - { - .description = "l3.prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1830 >> 8) & 0xff, - 1830 & 0xff, + (3202 >> 8) & 0xff, + 3202 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.prot", + .description = "l3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1837 >> 8) & 0xff, - 1837 & 0xff, + (3209 >> 8) & 0xff, + 3209 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (296 >> 8) & 0xff, - 296 & 0xff} + (482 >> 8) & 0xff, + 482 & 0xff} }, { - .description = "l3.prot", + .description = "l3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1841 >> 8) & 0xff, - 1841 & 0xff, + (3213 >> 8) & 0xff, + 3213 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (297 >> 8) & 0xff, - 297 & 0xff} + (483 >> 8) & 0xff, + 483 & 0xff} }, { - .description = "l3.prot", + .description = "l3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1844 >> 8) & 0xff, - 1844 & 0xff, + (3216 >> 8) & 0xff, + 3216 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", + .description = "l3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1851 >> 8) & 0xff, - 1851 & 0xff, + (3223 >> 8) & 0xff, + 3223 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (299 >> 8) & 0xff, - 299 & 0xff} + (485 >> 8) & 0xff, + 485 & 0xff} }, { - .description = "l3.qos", + .description = "l3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1855 >> 8) & 0xff, - 1855 & 0xff, + (3227 >> 8) & 0xff, + 3227 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (300 >> 8) & 0xff, - 300 & 0xff} + (486 >> 8) & 0xff, + 486 & 0xff} }, { - .description = "l3.qos", + .description = "l3.ttl", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1858 >> 8) & 0xff, - 1858 & 0xff, + (3230 >> 8) & 0xff, + 3230 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3.qos", + .description = "l3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1865 >> 8) & 0xff, - 1865 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, + (3236 >> 8) & 0xff, + 3236 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (302 >> 8) & 0xff, - 302 & 0xff} + (488 >> 8) & 0xff, + 488 & 0xff} }, { - .description = "l3.qos", + .description = "l3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1869 >> 8) & 0xff, - 1869 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, + (3239 >> 8) & 0xff, + 3239 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (303 >> 8) & 0xff, - 303 & 0xff} + (489 >> 8) & 0xff, + 489 & 0xff} }, { - .description = "l3.qos", + .description = "l3.prot", .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1872 >> 8) & 0xff, - 1872 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_QOS >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_QOS & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1879 >> 8) & 0xff, - 1879 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3241 >> 8) & 0xff, + 3241 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (305 >> 8) & 0xff, - 305 & 0xff} + (490 >> 8) & 0xff, + 490 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1883 >> 8) & 0xff, - 1883 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3243 >> 8) & 0xff, + 3243 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (306 >> 8) & 0xff, - 306 & 0xff} - }, - { - .description = "l4.src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (1886 >> 8) & 0xff, - 1886 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (491 >> 8) & 0xff, + 491 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1893 >> 8) & 0xff, - 1893 & 0xff, + (3247 >> 8) & 0xff, + 3247 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (308 >> 8) & 0xff, - 308 & 0xff} + (492 >> 8) & 0xff, + 492 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1897 >> 8) & 0xff, - 1897 & 0xff, + (3251 >> 8) & 0xff, + 3251 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (309 >> 8) & 0xff, - 309 & 0xff} + (493 >> 8) & 0xff, + 493 & 0xff} }, { - .description = "l4.src", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1900 >> 8) & 0xff, - 1900 & 0xff, + (3254 >> 8) & 0xff, + 3254 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1907 >> 8) & 0xff, - 1907 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3260 >> 8) & 0xff, + 3260 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (311 >> 8) & 0xff, - 311 & 0xff} + (495 >> 8) & 0xff, + 495 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1911 >> 8) & 0xff, - 1911 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + (3263 >> 8) & 0xff, + 3263 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (312 >> 8) & 0xff, - 312 & 0xff} + (496 >> 8) & 0xff, + 496 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1914 >> 8) & 0xff, - 1914 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ONES, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP + (3265 >> 8) & 0xff, + 3265 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (497 >> 8) & 0xff, + 497 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1921 >> 8) & 0xff, - 1921 & 0xff, + (3267 >> 8) & 0xff, + 3267 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (314 >> 8) & 0xff, - 314 & 0xff} + (498 >> 8) & 0xff, + 498 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1925 >> 8) & 0xff, - 1925 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + (3271 >> 8) & 0xff, + 3271 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (315 >> 8) & 0xff, - 315 & 0xff} + (499 >> 8) & 0xff, + 499 & 0xff} }, { - .description = "l4.dst", - .field_bit_size = 16, + .description = "l3.prot", + .field_bit_size = 8, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1928 >> 8) & 0xff, - 1928 & 0xff, + (3275 >> 8) & 0xff, + 3275 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_SKIP - }, - /* class_tid: 2, , table: control.terminating_flow */ - { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2024 >> 8) & 0xff, - 2024 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (317 >> 8) & 0xff, - 317 & 0xff} - }, - { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2026 >> 8) & 0xff, - 2026 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (318 >> 8) & 0xff, - 318 & 0xff} - }, - { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2028 >> 8) & 0xff, - 2028 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (319 >> 8) & 0xff, - 319 & 0xff} - }, - { - .description = "", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2030 >> 8) & 0xff, - 2030 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2053 >> 8) & 0xff, - 2053 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, - .field_src3 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr3 = { - 1} - }, - { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2066 >> 8) & 0xff, - 2066 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2080 >> 8) & 0xff, - 2080 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2081 >> 8) & 0xff, - 2081 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2089 >> 8) & 0xff, - 2089 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2097 >> 8) & 0xff, - 2097 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2105 >> 8) & 0xff, - 2105 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2113 >> 8) & 0xff, - 2113 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2121 >> 8) & 0xff, - 2121 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2130 >> 8) & 0xff, - 2130 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tids.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2137 >> 8) & 0xff, - 2137 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2144 >> 8) & 0xff, - 2144 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2151 >> 8) & 0xff, - 2151 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2159 >> 8) & 0xff, - 2159 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2168 >> 8) & 0xff, - 2168 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (335 >> 8) & 0xff, - 335 & 0xff} - }, - { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2173 >> 8) & 0xff, - 2173 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (336 >> 8) & 0xff, - 336 & 0xff} - }, - { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2177 >> 8) & 0xff, - 2177 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (500 >> 8) & 0xff, + 500 & 0xff} }, { - .description = "l2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2186 >> 8) & 0xff, - 2186 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.prot", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3278 >> 8) & 0xff, + 3278 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2195 >> 8) & 0xff, - 2195 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (339 >> 8) & 0xff, - 339 & 0xff} + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3285 >> 8) & 0xff, + 3285 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (502 >> 8) & 0xff, + 502 & 0xff} }, { - .description = "l3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2200 >> 8) & 0xff, - 2200 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (340 >> 8) & 0xff, - 340 & 0xff} + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3289 >> 8) & 0xff, + 3289 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (503 >> 8) & 0xff, + 503 & 0xff} }, { - .description = "l3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2204 >> 8) & 0xff, - 2204 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3292 >> 8) & 0xff, + 3292 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2213 >> 8) & 0xff, - 2213 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (342 >> 8) & 0xff, - 342 & 0xff} + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3299 >> 8) & 0xff, + 3299 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (505 >> 8) & 0xff, + 505 & 0xff} }, { - .description = "l3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2218 >> 8) & 0xff, - 2218 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (343 >> 8) & 0xff, - 343 & 0xff} + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3303 >> 8) & 0xff, + 3303 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (506 >> 8) & 0xff, + 506 & 0xff} }, { - .description = "l3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2222 >> 8) & 0xff, - 2222 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l3.qos", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3306 >> 8) & 0xff, + 3306 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_SKIP }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2231 >> 8) & 0xff, - 2231 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (345 >> 8) & 0xff, - 345 & 0xff} + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3313 >> 8) & 0xff, + 3313 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (508 >> 8) & 0xff, + 508 & 0xff} }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2236 >> 8) & 0xff, - 2236 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (346 >> 8) & 0xff, - 346 & 0xff} + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3317 >> 8) & 0xff, + 3317 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (509 >> 8) & 0xff, + 509 & 0xff} }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2240 >> 8) & 0xff, - 2240 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3320 >> 8) & 0xff, + 3320 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (510 >> 8) & 0xff, + 510 & 0xff} }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2249 >> 8) & 0xff, - 2249 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (348 >> 8) & 0xff, - 348 & 0xff} + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3323 >> 8) & 0xff, + 3323 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2254 >> 8) & 0xff, - 2254 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (349 >> 8) & 0xff, - 349 & 0xff} + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3329 >> 8) & 0xff, + 3329 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (512 >> 8) & 0xff, + 512 & 0xff} }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2258 >> 8) & 0xff, - 2258 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3333 >> 8) & 0xff, + 3333 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (513 >> 8) & 0xff, + 513 & 0xff} }, { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2267 >> 8) & 0xff, - 2267 & 0xff, - (5 >> 8) & 0xff, - 5 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (351 >> 8) & 0xff, - 351 & 0xff} + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3336 >> 8) & 0xff, + 3336 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (514 >> 8) & 0xff, + 514 & 0xff} }, { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2272 >> 8) & 0xff, - 2272 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr3 = { - (352 >> 8) & 0xff, - 352 & 0xff} + .description = "l4.src", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3339 >> 8) & 0xff, + 3339 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST }, { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2276 >> 8) & 0xff, - 2276 & 0xff, - (4 >> 8) & 0xff, - 4 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3345 >> 8) & 0xff, + 3345 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (516 >> 8) & 0xff, + 516 & 0xff} }, { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (2282 >> 8) & 0xff, - 2282 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3349 >> 8) & 0xff, + 3349 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (517 >> 8) & 0xff, + 517 & 0xff} }, { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2285 >> 8) & 0xff, - 2285 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (355 >> 8) & 0xff, - 355 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3352 >> 8) & 0xff, + 3352 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (518 >> 8) & 0xff, + 518 & 0xff} }, { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (2286 >> 8) & 0xff, - 2286 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3355 >> 8) & 0xff, + 3355 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (2291 >> 8) & 0xff, - 2291 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3361 >> 8) & 0xff, + 3361 & 0xff, + (4 >> 8) & 0xff, + 4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (520 >> 8) & 0xff, + 520 & 0xff} }, { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, - .field_opr1 = { - (2294 >> 8) & 0xff, - 2294 & 0xff, - (1 >> 8) & 0xff, - 1 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, - .field_opr2 = { - (358 >> 8) & 0xff, - 358 & 0xff}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3365 >> 8) & 0xff, + 3365 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (521 >> 8) & 0xff, + 521 & 0xff} }, { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, - .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, - .field_opr1 = { - (2295 >> 8) & 0xff, - 2295 & 0xff, - (3 >> 8) & 0xff, - 3 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - 1}, - .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3368 >> 8) & 0xff, + 3368 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, + .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, + .field_opr3 = { + (522 >> 8) & 0xff, + 522 & 0xff} + }, + { + .description = "l4.dst", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, + .field_opr1 = { + (3371 >> 8) & 0xff, + 3371 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST }, /* class_tid: 2, , table: control.profile_tcam_priority */ { @@ -41665,15 +54305,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2301 >> 8) & 0xff, - 2301 & 0xff, + (3376 >> 8) & 0xff, + 3376 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (360 >> 8) & 0xff, - 360 & 0xff} + (524 >> 8) & 0xff, + 524 & 0xff} }, { .description = "", @@ -41681,15 +54321,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2303 >> 8) & 0xff, - 2303 & 0xff, + (3378 >> 8) & 0xff, + 3378 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (361 >> 8) & 0xff, - 361 & 0xff} + (525 >> 8) & 0xff, + 525 & 0xff} }, { .description = "", @@ -41697,15 +54337,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2305 >> 8) & 0xff, - 2305 & 0xff, + (3380 >> 8) & 0xff, + 3380 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (362 >> 8) & 0xff, - 362 & 0xff} + (526 >> 8) & 0xff, + 526 & 0xff} }, { .description = "", @@ -41713,15 +54353,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2307 >> 8) & 0xff, - 2307 & 0xff, + (3382 >> 8) & 0xff, + 3382 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (363 >> 8) & 0xff, - 363 & 0xff} + (527 >> 8) & 0xff, + 527 & 0xff} }, { .description = "", @@ -41729,17 +54369,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2309 >> 8) & 0xff, - 2309 & 0xff, + (3384 >> 8) & 0xff, + 3384 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - 1}, + ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (364 >> 8) & 0xff, - 364 & 0xff} + (528 >> 8) & 0xff, + 528 & 0xff} }, { .description = "", @@ -41747,17 +54387,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2311 >> 8) & 0xff, - 2311 & 0xff, + (3386 >> 8) & 0xff, + 3386 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - 1}, + ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (365 >> 8) & 0xff, - 365 & 0xff} + (529 >> 8) & 0xff, + 529 & 0xff} }, { .description = "", @@ -41765,17 +54405,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2313 >> 8) & 0xff, - 2313 & 0xff, + (3388 >> 8) & 0xff, + 3388 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - 1}, + ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (366 >> 8) & 0xff, - 366 & 0xff} + (530 >> 8) & 0xff, + 530 & 0xff} }, { .description = "", @@ -41783,16 +54423,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2315 >> 8) & 0xff, - 2315 & 0xff, + (3390 >> 8) & 0xff, + 3390 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { - 1}, + ULP_THOR_SYM_PROF_TCAM_PRI_L3}, .field_src3 = BNXT_ULP_FIELD_SRC_CONST, .field_opr3 = { - 2} + ULP_THOR_SYM_PROF_TCAM_PRI_L2} }, { .description = "l4_hdr_is_udp_tcp", @@ -41800,15 +54440,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2319 >> 8) & 0xff, - 2319 & 0xff, + (3394 >> 8) & 0xff, + 3394 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (368 >> 8) & 0xff, - 368 & 0xff} + (532 >> 8) & 0xff, + 532 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -41816,15 +54456,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2321 >> 8) & 0xff, - 2321 & 0xff, + (3396 >> 8) & 0xff, + 3396 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (369 >> 8) & 0xff, - 369 & 0xff} + (533 >> 8) & 0xff, + 533 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -41832,8 +54472,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2323 >> 8) & 0xff, - 2323 & 0xff, + (3398 >> 8) & 0xff, + 3398 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -41845,8 +54485,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2327 >> 8) & 0xff, - 2327 & 0xff, + (3402 >> 8) & 0xff, + 3402 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -41854,8 +54494,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (371 >> 8) & 0xff, - 371 & 0xff} + (535 >> 8) & 0xff, + 535 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -41863,8 +54503,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2329 >> 8) & 0xff, - 2329 & 0xff, + (3404 >> 8) & 0xff, + 3404 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -41872,8 +54512,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_IS_UDP_TCP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (372 >> 8) & 0xff, - 372 & 0xff} + (536 >> 8) & 0xff, + 536 & 0xff} }, { .description = "l4_hdr_is_udp_tcp", @@ -41881,8 +54521,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2331 >> 8) & 0xff, - 2331 & 0xff, + (3406 >> 8) & 0xff, + 3406 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -41896,15 +54536,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2335 >> 8) & 0xff, - 2335 & 0xff, + (3410 >> 8) & 0xff, + 3410 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (374 >> 8) & 0xff, - 374 & 0xff} + (538 >> 8) & 0xff, + 538 & 0xff} }, { .description = "l4_hdr_type", @@ -41912,15 +54552,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2337 >> 8) & 0xff, - 2337 & 0xff, + (3412 >> 8) & 0xff, + 3412 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (375 >> 8) & 0xff, - 375 & 0xff} + (539 >> 8) & 0xff, + 539 & 0xff} }, { .description = "l4_hdr_type", @@ -41928,8 +54568,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2339 >> 8) & 0xff, - 2339 & 0xff, + (3414 >> 8) & 0xff, + 3414 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -41941,15 +54581,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2343 >> 8) & 0xff, - 2343 & 0xff, + (3418 >> 8) & 0xff, + 3418 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (377 >> 8) & 0xff, - 377 & 0xff} + (541 >> 8) & 0xff, + 541 & 0xff} }, { .description = "l4_hdr_type", @@ -41957,8 +54597,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2345 >> 8) & 0xff, - 2345 & 0xff, + (3420 >> 8) & 0xff, + 3420 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -41966,8 +54606,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_TYPE_UDP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (378 >> 8) & 0xff, - 378 & 0xff} + (542 >> 8) & 0xff, + 542 & 0xff} }, { .description = "l4_hdr_type", @@ -41975,8 +54615,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2347 >> 8) & 0xff, - 2347 & 0xff, + (3422 >> 8) & 0xff, + 3422 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -41990,15 +54630,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2351 >> 8) & 0xff, - 2351 & 0xff, + (3426 >> 8) & 0xff, + 3426 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (380 >> 8) & 0xff, - 380 & 0xff} + (544 >> 8) & 0xff, + 544 & 0xff} }, { .description = "l4_hdr_error", @@ -42006,15 +54646,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2353 >> 8) & 0xff, - 2353 & 0xff, + (3428 >> 8) & 0xff, + 3428 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (381 >> 8) & 0xff, - 381 & 0xff} + (545 >> 8) & 0xff, + 545 & 0xff} }, { .description = "l4_hdr_error", @@ -42022,8 +54662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2355 >> 8) & 0xff, - 2355 & 0xff, + (3430 >> 8) & 0xff, + 3430 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42035,15 +54675,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2359 >> 8) & 0xff, - 2359 & 0xff, + (3434 >> 8) & 0xff, + 3434 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (383 >> 8) & 0xff, - 383 & 0xff} + (547 >> 8) & 0xff, + 547 & 0xff} }, { .description = "l4_hdr_error", @@ -42051,15 +54691,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2361 >> 8) & 0xff, - 2361 & 0xff, + (3436 >> 8) & 0xff, + 3436 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (384 >> 8) & 0xff, - 384 & 0xff} + (548 >> 8) & 0xff, + 548 & 0xff} }, { .description = "l4_hdr_error", @@ -42067,8 +54707,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2363 >> 8) & 0xff, - 2363 & 0xff, + (3438 >> 8) & 0xff, + 3438 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42080,15 +54720,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2367 >> 8) & 0xff, - 2367 & 0xff, + (3442 >> 8) & 0xff, + 3442 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (386 >> 8) & 0xff, - 386 & 0xff} + (550 >> 8) & 0xff, + 550 & 0xff} }, { .description = "l4_hdr_valid", @@ -42096,15 +54736,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2369 >> 8) & 0xff, - 2369 & 0xff, + (3444 >> 8) & 0xff, + 3444 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (387 >> 8) & 0xff, - 387 & 0xff} + (551 >> 8) & 0xff, + 551 & 0xff} }, { .description = "l4_hdr_valid", @@ -42112,8 +54752,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2371 >> 8) & 0xff, - 2371 & 0xff, + (3446 >> 8) & 0xff, + 3446 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42125,8 +54765,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2375 >> 8) & 0xff, - 2375 & 0xff, + (3450 >> 8) & 0xff, + 3450 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42134,8 +54774,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (389 >> 8) & 0xff, - 389 & 0xff} + (553 >> 8) & 0xff, + 553 & 0xff} }, { .description = "l4_hdr_valid", @@ -42143,8 +54783,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2377 >> 8) & 0xff, - 2377 & 0xff, + (3452 >> 8) & 0xff, + 3452 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42152,8 +54792,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (390 >> 8) & 0xff, - 390 & 0xff} + (554 >> 8) & 0xff, + 554 & 0xff} }, { .description = "l4_hdr_valid", @@ -42161,8 +54801,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2379 >> 8) & 0xff, - 2379 & 0xff, + (3454 >> 8) & 0xff, + 3454 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42176,8 +54816,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2383 >> 8) & 0xff, - 2383 & 0xff, + (3458 >> 8) & 0xff, + 3458 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42185,8 +54825,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (392 >> 8) & 0xff, - 392 & 0xff} + (556 >> 8) & 0xff, + 556 & 0xff} }, { .description = "l3_hdr_isIP", @@ -42194,8 +54834,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2385 >> 8) & 0xff, - 2385 & 0xff, + (3460 >> 8) & 0xff, + 3460 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42203,8 +54843,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_ISIP_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (393 >> 8) & 0xff, - 393 & 0xff} + (557 >> 8) & 0xff, + 557 & 0xff} }, { .description = "l3_hdr_isIP", @@ -42212,8 +54852,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2387 >> 8) & 0xff, - 2387 & 0xff, + (3462 >> 8) & 0xff, + 3462 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42227,15 +54867,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2391 >> 8) & 0xff, - 2391 & 0xff, + (3466 >> 8) & 0xff, + 3466 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (395 >> 8) & 0xff, - 395 & 0xff} + (559 >> 8) & 0xff, + 559 & 0xff} }, { .description = "l3_hdr_type", @@ -42243,15 +54883,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2393 >> 8) & 0xff, - 2393 & 0xff, + (3468 >> 8) & 0xff, + 3468 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (396 >> 8) & 0xff, - 396 & 0xff} + (560 >> 8) & 0xff, + 560 & 0xff} }, { .description = "l3_hdr_type", @@ -42259,8 +54899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2395 >> 8) & 0xff, - 2395 & 0xff, + (3470 >> 8) & 0xff, + 3470 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42272,8 +54912,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2399 >> 8) & 0xff, - 2399 & 0xff, + (3474 >> 8) & 0xff, + 3474 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42281,8 +54921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_TYPE_IPV6}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (398 >> 8) & 0xff, - 398 & 0xff} + (562 >> 8) & 0xff, + 562 & 0xff} }, { .description = "l3_hdr_type", @@ -42290,15 +54930,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2401 >> 8) & 0xff, - 2401 & 0xff, + (3476 >> 8) & 0xff, + 3476 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (399 >> 8) & 0xff, - 399 & 0xff} + (563 >> 8) & 0xff, + 563 & 0xff} }, { .description = "l3_hdr_type", @@ -42306,8 +54946,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2403 >> 8) & 0xff, - 2403 & 0xff, + (3478 >> 8) & 0xff, + 3478 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42319,15 +54959,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2407 >> 8) & 0xff, - 2407 & 0xff, + (3482 >> 8) & 0xff, + 3482 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (401 >> 8) & 0xff, - 401 & 0xff} + (565 >> 8) & 0xff, + 565 & 0xff} }, { .description = "l3_hdr_error", @@ -42335,15 +54975,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2409 >> 8) & 0xff, - 2409 & 0xff, + (3484 >> 8) & 0xff, + 3484 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (402 >> 8) & 0xff, - 402 & 0xff} + (566 >> 8) & 0xff, + 566 & 0xff} }, { .description = "l3_hdr_error", @@ -42351,8 +54991,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2411 >> 8) & 0xff, - 2411 & 0xff, + (3486 >> 8) & 0xff, + 3486 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42364,15 +55004,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2415 >> 8) & 0xff, - 2415 & 0xff, + (3490 >> 8) & 0xff, + 3490 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (404 >> 8) & 0xff, - 404 & 0xff} + (568 >> 8) & 0xff, + 568 & 0xff} }, { .description = "l3_hdr_error", @@ -42380,15 +55020,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2417 >> 8) & 0xff, - 2417 & 0xff, + (3492 >> 8) & 0xff, + 3492 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (405 >> 8) & 0xff, - 405 & 0xff} + (569 >> 8) & 0xff, + 569 & 0xff} }, { .description = "l3_hdr_error", @@ -42396,8 +55036,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2419 >> 8) & 0xff, - 2419 & 0xff, + (3494 >> 8) & 0xff, + 3494 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42409,15 +55049,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2423 >> 8) & 0xff, - 2423 & 0xff, + (3498 >> 8) & 0xff, + 3498 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (407 >> 8) & 0xff, - 407 & 0xff} + (571 >> 8) & 0xff, + 571 & 0xff} }, { .description = "l3_hdr_valid", @@ -42425,15 +55065,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2425 >> 8) & 0xff, - 2425 & 0xff, + (3500 >> 8) & 0xff, + 3500 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (408 >> 8) & 0xff, - 408 & 0xff} + (572 >> 8) & 0xff, + 572 & 0xff} }, { .description = "l3_hdr_valid", @@ -42441,8 +55081,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2427 >> 8) & 0xff, - 2427 & 0xff, + (3502 >> 8) & 0xff, + 3502 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42454,8 +55094,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2431 >> 8) & 0xff, - 2431 & 0xff, + (3506 >> 8) & 0xff, + 3506 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42463,8 +55103,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (410 >> 8) & 0xff, - 410 & 0xff} + (574 >> 8) & 0xff, + 574 & 0xff} }, { .description = "l3_hdr_valid", @@ -42472,8 +55112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2433 >> 8) & 0xff, - 2433 & 0xff, + (3508 >> 8) & 0xff, + 3508 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42481,8 +55121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_L3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (411 >> 8) & 0xff, - 411 & 0xff} + (575 >> 8) & 0xff, + 575 & 0xff} }, { .description = "l3_hdr_valid", @@ -42490,8 +55130,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2435 >> 8) & 0xff, - 2435 & 0xff, + (3510 >> 8) & 0xff, + 3510 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42505,8 +55145,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2440 >> 8) & 0xff, - 2440 & 0xff, + (3515 >> 8) & 0xff, + 3515 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42520,8 +55160,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2446 >> 8) & 0xff, - 2446 & 0xff, + (3521 >> 8) & 0xff, + 3521 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42535,8 +55175,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2453 >> 8) & 0xff, - 2453 & 0xff, + (3528 >> 8) & 0xff, + 3528 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42548,8 +55188,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2457 >> 8) & 0xff, - 2457 & 0xff, + (3532 >> 8) & 0xff, + 3532 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42561,8 +55201,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2461 >> 8) & 0xff, - 2461 & 0xff, + (3536 >> 8) & 0xff, + 3536 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42576,15 +55216,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2465 >> 8) & 0xff, - 2465 & 0xff, + (3540 >> 8) & 0xff, + 3540 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (418 >> 8) & 0xff, - 418 & 0xff} + (582 >> 8) & 0xff, + 582 & 0xff} }, { .description = "tun_hdr_type", @@ -42592,15 +55232,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2467 >> 8) & 0xff, - 2467 & 0xff, + (3542 >> 8) & 0xff, + 3542 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (419 >> 8) & 0xff, - 419 & 0xff} + (583 >> 8) & 0xff, + 583 & 0xff} }, { .description = "tun_hdr_type", @@ -42608,15 +55248,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2469 >> 8) & 0xff, - 2469 & 0xff, + (3544 >> 8) & 0xff, + 3544 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (420 >> 8) & 0xff, - 420 & 0xff} + (584 >> 8) & 0xff, + 584 & 0xff} }, { .description = "tun_hdr_type", @@ -42624,15 +55264,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2471 >> 8) & 0xff, - 2471 & 0xff, + (3546 >> 8) & 0xff, + 3546 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (421 >> 8) & 0xff, - 421 & 0xff} + (585 >> 8) & 0xff, + 585 & 0xff} }, { .description = "tun_hdr_type", @@ -42640,8 +55280,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2473 >> 8) & 0xff, - 2473 & 0xff, + (3548 >> 8) & 0xff, + 3548 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42653,15 +55293,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2477 >> 8) & 0xff, - 2477 & 0xff, + (3552 >> 8) & 0xff, + 3552 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (423 >> 8) & 0xff, - 423 & 0xff} + (587 >> 8) & 0xff, + 587 & 0xff} }, { .description = "tun_hdr_type", @@ -42669,8 +55309,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2479 >> 8) & 0xff, - 2479 & 0xff, + (3554 >> 8) & 0xff, + 3554 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42678,8 +55318,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GENEVE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (424 >> 8) & 0xff, - 424 & 0xff} + (588 >> 8) & 0xff, + 588 & 0xff} }, { .description = "tun_hdr_type", @@ -42687,8 +55327,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2481 >> 8) & 0xff, - 2481 & 0xff, + (3556 >> 8) & 0xff, + 3556 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42696,8 +55336,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_GRE}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (425 >> 8) & 0xff, - 425 & 0xff} + (589 >> 8) & 0xff, + 589 & 0xff} }, { .description = "tun_hdr_type", @@ -42705,8 +55345,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2483 >> 8) & 0xff, - 2483 & 0xff, + (3558 >> 8) & 0xff, + 3558 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42714,8 +55354,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TUN_HDR_TYPE_UPAR1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (426 >> 8) & 0xff, - 426 & 0xff} + (590 >> 8) & 0xff, + 590 & 0xff} }, { .description = "tun_hdr_type", @@ -42723,8 +55363,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2485 >> 8) & 0xff, - 2485 & 0xff, + (3560 >> 8) & 0xff, + 3560 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42738,8 +55378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2492 >> 8) & 0xff, - 2492 & 0xff, + (3567 >> 8) & 0xff, + 3567 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42751,8 +55391,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2496 >> 8) & 0xff, - 2496 & 0xff, + (3571 >> 8) & 0xff, + 3571 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42766,8 +55406,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2500 >> 8) & 0xff, - 2500 & 0xff, + (3575 >> 8) & 0xff, + 3575 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42779,8 +55419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2504 >> 8) & 0xff, - 2504 & 0xff, + (3579 >> 8) & 0xff, + 3579 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42794,8 +55434,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2508 >> 8) & 0xff, - 2508 & 0xff, + (3583 >> 8) & 0xff, + 3583 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42807,8 +55447,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2512 >> 8) & 0xff, - 2512 & 0xff, + (3587 >> 8) & 0xff, + 3587 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42820,15 +55460,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2516 >> 8) & 0xff, - 2516 & 0xff, + (3591 >> 8) & 0xff, + 3591 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (434 >> 8) & 0xff, - 434 & 0xff} + (598 >> 8) & 0xff, + 598 & 0xff} }, { .description = "tl4_hdr_valid", @@ -42836,8 +55476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2518 >> 8) & 0xff, - 2518 & 0xff, + (3593 >> 8) & 0xff, + 3593 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42849,8 +55489,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2521 >> 8) & 0xff, - 2521 & 0xff, + (3596 >> 8) & 0xff, + 3596 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42858,8 +55498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TL4_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (436 >> 8) & 0xff, - 436 & 0xff} + (600 >> 8) & 0xff, + 600 & 0xff} }, { .description = "tl4_hdr_valid", @@ -42867,8 +55507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2523 >> 8) & 0xff, - 2523 & 0xff, + (3598 >> 8) & 0xff, + 3598 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42880,8 +55520,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2526 >> 8) & 0xff, - 2526 & 0xff, + (3601 >> 8) & 0xff, + 3601 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42895,8 +55535,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2530 >> 8) & 0xff, - 2530 & 0xff, + (3605 >> 8) & 0xff, + 3605 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42908,8 +55548,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2534 >> 8) & 0xff, - 2534 & 0xff, + (3609 >> 8) & 0xff, + 3609 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42921,8 +55561,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2538 >> 8) & 0xff, - 2538 & 0xff, + (3613 >> 8) & 0xff, + 3613 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -42934,8 +55574,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2542 >> 8) & 0xff, - 2542 & 0xff, + (3617 >> 8) & 0xff, + 3617 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ZERO, @@ -42947,8 +55587,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2546 >> 8) & 0xff, - 2546 & 0xff, + (3621 >> 8) & 0xff, + 3621 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -42956,14 +55596,46 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_TL3_HDR_VALID_YES}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, + { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3635 >> 8) & 0xff, + 3635 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "meta", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (3646 >> 8) & 0xff, + 3646 & 0xff, + (1 >> 8) & 0xff, + 1 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, { .description = "tl2_smac", .field_bit_size = 48, .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2582 >> 8) & 0xff, - 2582 & 0xff, + (3661 >> 8) & 0xff, + 3661 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -42978,8 +55650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2589 >> 8) & 0xff, - 2589 & 0xff, + (3668 >> 8) & 0xff, + 3668 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -42994,8 +55666,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2607 >> 8) & 0xff, - 2607 & 0xff, + (3686 >> 8) & 0xff, + 3686 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43010,8 +55682,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2617 >> 8) & 0xff, - 2617 & 0xff, + (3696 >> 8) & 0xff, + 3696 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43026,8 +55698,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2644 >> 8) & 0xff, - 2644 & 0xff, + (3723 >> 8) & 0xff, + 3723 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43042,8 +55714,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2649 >> 8) & 0xff, - 2649 & 0xff, + (3728 >> 8) & 0xff, + 3728 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43058,8 +55730,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2670 >> 8) & 0xff, - 2670 & 0xff, + (3749 >> 8) & 0xff, + 3749 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43074,8 +55746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2678 >> 8) & 0xff, - 2678 & 0xff, + (3757 >> 8) & 0xff, + 3757 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43090,8 +55762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2686 >> 8) & 0xff, - 2686 & 0xff, + (3765 >> 8) & 0xff, + 3765 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43106,8 +55778,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2694 >> 8) & 0xff, - 2694 & 0xff, + (3773 >> 8) & 0xff, + 3773 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43122,8 +55794,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2702 >> 8) & 0xff, - 2702 & 0xff, + (3781 >> 8) & 0xff, + 3781 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43138,8 +55810,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2710 >> 8) & 0xff, - 2710 & 0xff, + (3789 >> 8) & 0xff, + 3789 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43154,8 +55826,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2718 >> 8) & 0xff, - 2718 & 0xff, + (3797 >> 8) & 0xff, + 3797 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43170,8 +55842,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2726 >> 8) & 0xff, - 2726 & 0xff, + (3805 >> 8) & 0xff, + 3805 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43186,8 +55858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2735 >> 8) & 0xff, - 2735 & 0xff, + (3814 >> 8) & 0xff, + 3814 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43202,8 +55874,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2744 >> 8) & 0xff, - 2744 & 0xff, + (3823 >> 8) & 0xff, + 3823 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43218,8 +55890,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2751 >> 8) & 0xff, - 2751 & 0xff, + (3830 >> 8) & 0xff, + 3830 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43234,8 +55906,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2757 >> 8) & 0xff, - 2757 & 0xff, + (3836 >> 8) & 0xff, + 3836 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43250,8 +55922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2764 >> 8) & 0xff, - 2764 & 0xff, + (3843 >> 8) & 0xff, + 3843 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43266,8 +55938,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2771 >> 8) & 0xff, - 2771 & 0xff, + (3850 >> 8) & 0xff, + 3850 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43282,8 +55954,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2778 >> 8) & 0xff, - 2778 & 0xff, + (3857 >> 8) & 0xff, + 3857 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43298,8 +55970,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2785 >> 8) & 0xff, - 2785 & 0xff, + (3864 >> 8) & 0xff, + 3864 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43314,8 +55986,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2793 >> 8) & 0xff, - 2793 & 0xff, + (3872 >> 8) & 0xff, + 3872 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43330,8 +56002,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2802 >> 8) & 0xff, - 2802 & 0xff, + (3881 >> 8) & 0xff, + 3881 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43346,8 +56018,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2811 >> 8) & 0xff, - 2811 & 0xff, + (3890 >> 8) & 0xff, + 3890 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43356,8 +56028,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (468 >> 8) & 0xff, - 468 & 0xff} + (634 >> 8) & 0xff, + 634 & 0xff} }, { .description = "l2_ivv", @@ -43365,8 +56037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2816 >> 8) & 0xff, - 2816 & 0xff, + (3895 >> 8) & 0xff, + 3895 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43375,8 +56047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (469 >> 8) & 0xff, - 469 & 0xff} + (635 >> 8) & 0xff, + 635 & 0xff} }, { .description = "l2_ivv", @@ -43384,8 +56056,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2820 >> 8) & 0xff, - 2820 & 0xff, + (3899 >> 8) & 0xff, + 3899 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43400,8 +56072,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2829 >> 8) & 0xff, - 2829 & 0xff, + (3908 >> 8) & 0xff, + 3908 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43410,8 +56082,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (471 >> 8) & 0xff, - 471 & 0xff} + (637 >> 8) & 0xff, + 637 & 0xff} }, { .description = "l2_ivv", @@ -43419,8 +56091,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2834 >> 8) & 0xff, - 2834 & 0xff, + (3913 >> 8) & 0xff, + 3913 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43429,8 +56101,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (472 >> 8) & 0xff, - 472 & 0xff} + (638 >> 8) & 0xff, + 638 & 0xff} }, { .description = "l2_ivv", @@ -43438,8 +56110,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2838 >> 8) & 0xff, - 2838 & 0xff, + (3917 >> 8) & 0xff, + 3917 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43454,8 +56126,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2847 >> 8) & 0xff, - 2847 & 0xff, + (3926 >> 8) & 0xff, + 3926 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43470,8 +56142,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2856 >> 8) & 0xff, - 2856 & 0xff, + (3935 >> 8) & 0xff, + 3935 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43486,8 +56158,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2864 >> 8) & 0xff, - 2864 & 0xff, + (3943 >> 8) & 0xff, + 3943 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43502,8 +56174,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2871 >> 8) & 0xff, - 2871 & 0xff, + (3950 >> 8) & 0xff, + 3950 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43518,8 +56190,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2878 >> 8) & 0xff, - 2878 & 0xff, + (3957 >> 8) & 0xff, + 3957 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43534,8 +56206,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2885 >> 8) & 0xff, - 2885 & 0xff, + (3964 >> 8) & 0xff, + 3964 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43550,8 +56222,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2892 >> 8) & 0xff, - 2892 & 0xff, + (3971 >> 8) & 0xff, + 3971 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43566,8 +56238,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2899 >> 8) & 0xff, - 2899 & 0xff, + (3978 >> 8) & 0xff, + 3978 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43582,8 +56254,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2906 >> 8) & 0xff, - 2906 & 0xff, + (3985 >> 8) & 0xff, + 3985 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43598,8 +56270,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2913 >> 8) & 0xff, - 2913 & 0xff, + (3992 >> 8) & 0xff, + 3992 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43614,8 +56286,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2920 >> 8) & 0xff, - 2920 & 0xff, + (3999 >> 8) & 0xff, + 3999 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43624,8 +56296,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (484 >> 8) & 0xff, - 484 & 0xff} + (650 >> 8) & 0xff, + 650 & 0xff} }, { .description = "l3.ttl", @@ -43633,8 +56305,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2924 >> 8) & 0xff, - 2924 & 0xff, + (4003 >> 8) & 0xff, + 4003 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43643,8 +56315,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (485 >> 8) & 0xff, - 485 & 0xff} + (651 >> 8) & 0xff, + 651 & 0xff} }, { .description = "l3.ttl", @@ -43652,8 +56324,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2927 >> 8) & 0xff, - 2927 & 0xff, + (4006 >> 8) & 0xff, + 4006 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43668,8 +56340,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2934 >> 8) & 0xff, - 2934 & 0xff, + (4013 >> 8) & 0xff, + 4013 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43678,8 +56350,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (487 >> 8) & 0xff, - 487 & 0xff} + (653 >> 8) & 0xff, + 653 & 0xff} }, { .description = "l3.ttl", @@ -43687,8 +56359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2938 >> 8) & 0xff, - 2938 & 0xff, + (4017 >> 8) & 0xff, + 4017 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43697,8 +56369,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (488 >> 8) & 0xff, - 488 & 0xff} + (654 >> 8) & 0xff, + 654 & 0xff} }, { .description = "l3.ttl", @@ -43706,8 +56378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2941 >> 8) & 0xff, - 2941 & 0xff, + (4020 >> 8) & 0xff, + 4020 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43722,15 +56394,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2947 >> 8) & 0xff, - 2947 & 0xff, + (4026 >> 8) & 0xff, + 4026 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (490 >> 8) & 0xff, - 490 & 0xff} + (656 >> 8) & 0xff, + 656 & 0xff} }, { .description = "l3.prot", @@ -43738,15 +56410,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2950 >> 8) & 0xff, - 2950 & 0xff, + (4029 >> 8) & 0xff, + 4029 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (491 >> 8) & 0xff, - 491 & 0xff} + (657 >> 8) & 0xff, + 657 & 0xff} }, { .description = "l3.prot", @@ -43754,15 +56426,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2952 >> 8) & 0xff, - 2952 & 0xff, + (4031 >> 8) & 0xff, + 4031 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (492 >> 8) & 0xff, - 492 & 0xff} + (658 >> 8) & 0xff, + 658 & 0xff} }, { .description = "l3.prot", @@ -43770,8 +56442,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2954 >> 8) & 0xff, - 2954 & 0xff, + (4033 >> 8) & 0xff, + 4033 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43780,8 +56452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (493 >> 8) & 0xff, - 493 & 0xff} + (659 >> 8) & 0xff, + 659 & 0xff} }, { .description = "l3.prot", @@ -43789,8 +56461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2958 >> 8) & 0xff, - 2958 & 0xff, + (4037 >> 8) & 0xff, + 4037 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43799,8 +56471,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (494 >> 8) & 0xff, - 494 & 0xff} + (660 >> 8) & 0xff, + 660 & 0xff} }, { .description = "l3.prot", @@ -43808,8 +56480,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2962 >> 8) & 0xff, - 2962 & 0xff, + (4041 >> 8) & 0xff, + 4041 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43818,8 +56490,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (495 >> 8) & 0xff, - 495 & 0xff} + (661 >> 8) & 0xff, + 661 & 0xff} }, { .description = "l3.prot", @@ -43827,8 +56499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2965 >> 8) & 0xff, - 2965 & 0xff, + (4044 >> 8) & 0xff, + 4044 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43843,8 +56515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2971 >> 8) & 0xff, - 2971 & 0xff, + (4050 >> 8) & 0xff, + 4050 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43852,8 +56524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_IP_PROTO_UDP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (497 >> 8) & 0xff, - 497 & 0xff} + (663 >> 8) & 0xff, + 663 & 0xff} }, { .description = "l3.prot", @@ -43861,8 +56533,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2974 >> 8) & 0xff, - 2974 & 0xff, + (4053 >> 8) & 0xff, + 4053 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43870,8 +56542,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_IP_PROTO_TCP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (498 >> 8) & 0xff, - 498 & 0xff} + (664 >> 8) & 0xff, + 664 & 0xff} }, { .description = "l3.prot", @@ -43879,8 +56551,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2976 >> 8) & 0xff, - 2976 & 0xff, + (4055 >> 8) & 0xff, + 4055 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -43888,8 +56560,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { ULP_THOR_SYM_IP_PROTO_UDP}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (499 >> 8) & 0xff, - 499 & 0xff} + (665 >> 8) & 0xff, + 665 & 0xff} }, { .description = "l3.prot", @@ -43897,8 +56569,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2978 >> 8) & 0xff, - 2978 & 0xff, + (4057 >> 8) & 0xff, + 4057 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43907,8 +56579,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (500 >> 8) & 0xff, - 500 & 0xff} + (666 >> 8) & 0xff, + 666 & 0xff} }, { .description = "l3.prot", @@ -43916,8 +56588,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2982 >> 8) & 0xff, - 2982 & 0xff, + (4061 >> 8) & 0xff, + 4061 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43926,8 +56598,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (501 >> 8) & 0xff, - 501 & 0xff} + (667 >> 8) & 0xff, + 667 & 0xff} }, { .description = "l3.prot", @@ -43935,8 +56607,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2986 >> 8) & 0xff, - 2986 & 0xff, + (4065 >> 8) & 0xff, + 4065 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43945,8 +56617,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (502 >> 8) & 0xff, - 502 & 0xff} + (668 >> 8) & 0xff, + 668 & 0xff} }, { .description = "l3.prot", @@ -43954,8 +56626,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2989 >> 8) & 0xff, - 2989 & 0xff, + (4068 >> 8) & 0xff, + 4068 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43970,8 +56642,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2996 >> 8) & 0xff, - 2996 & 0xff, + (4075 >> 8) & 0xff, + 4075 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43980,8 +56652,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (504 >> 8) & 0xff, - 504 & 0xff} + (670 >> 8) & 0xff, + 670 & 0xff} }, { .description = "l3.qos", @@ -43989,8 +56661,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3000 >> 8) & 0xff, - 3000 & 0xff, + (4079 >> 8) & 0xff, + 4079 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -43999,8 +56671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (505 >> 8) & 0xff, - 505 & 0xff} + (671 >> 8) & 0xff, + 671 & 0xff} }, { .description = "l3.qos", @@ -44008,8 +56680,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3003 >> 8) & 0xff, - 3003 & 0xff, + (4082 >> 8) & 0xff, + 4082 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44024,8 +56696,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3010 >> 8) & 0xff, - 3010 & 0xff, + (4089 >> 8) & 0xff, + 4089 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44034,8 +56706,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (507 >> 8) & 0xff, - 507 & 0xff} + (673 >> 8) & 0xff, + 673 & 0xff} }, { .description = "l3.qos", @@ -44043,8 +56715,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3014 >> 8) & 0xff, - 3014 & 0xff, + (4093 >> 8) & 0xff, + 4093 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44053,8 +56725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (508 >> 8) & 0xff, - 508 & 0xff} + (674 >> 8) & 0xff, + 674 & 0xff} }, { .description = "l3.qos", @@ -44062,8 +56734,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3017 >> 8) & 0xff, - 3017 & 0xff, + (4096 >> 8) & 0xff, + 4096 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44078,8 +56750,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3024 >> 8) & 0xff, - 3024 & 0xff, + (4103 >> 8) & 0xff, + 4103 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44088,8 +56760,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (510 >> 8) & 0xff, - 510 & 0xff} + (676 >> 8) & 0xff, + 676 & 0xff} }, { .description = "l4.src", @@ -44097,8 +56769,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3028 >> 8) & 0xff, - 3028 & 0xff, + (4107 >> 8) & 0xff, + 4107 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44107,8 +56779,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (511 >> 8) & 0xff, - 511 & 0xff} + (677 >> 8) & 0xff, + 677 & 0xff} }, { .description = "l4.src", @@ -44116,8 +56788,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3031 >> 8) & 0xff, - 3031 & 0xff, + (4110 >> 8) & 0xff, + 4110 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44126,8 +56798,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (512 >> 8) & 0xff, - 512 & 0xff} + (678 >> 8) & 0xff, + 678 & 0xff} }, { .description = "l4.src", @@ -44135,8 +56807,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3034 >> 8) & 0xff, - 3034 & 0xff, + (4113 >> 8) & 0xff, + 4113 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -44148,8 +56820,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3040 >> 8) & 0xff, - 3040 & 0xff, + (4119 >> 8) & 0xff, + 4119 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44158,8 +56830,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (514 >> 8) & 0xff, - 514 & 0xff} + (680 >> 8) & 0xff, + 680 & 0xff} }, { .description = "l4.src", @@ -44167,8 +56839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3044 >> 8) & 0xff, - 3044 & 0xff, + (4123 >> 8) & 0xff, + 4123 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44177,8 +56849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (515 >> 8) & 0xff, - 515 & 0xff} + (681 >> 8) & 0xff, + 681 & 0xff} }, { .description = "l4.src", @@ -44186,8 +56858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3047 >> 8) & 0xff, - 3047 & 0xff, + (4126 >> 8) & 0xff, + 4126 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44196,8 +56868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (516 >> 8) & 0xff, - 516 & 0xff} + (682 >> 8) & 0xff, + 682 & 0xff} }, { .description = "l4.src", @@ -44205,8 +56877,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3050 >> 8) & 0xff, - 3050 & 0xff, + (4129 >> 8) & 0xff, + 4129 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -44218,8 +56890,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3056 >> 8) & 0xff, - 3056 & 0xff, + (4135 >> 8) & 0xff, + 4135 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44228,8 +56900,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (518 >> 8) & 0xff, - 518 & 0xff} + (684 >> 8) & 0xff, + 684 & 0xff} }, { .description = "l4.dst", @@ -44237,8 +56909,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3060 >> 8) & 0xff, - 3060 & 0xff, + (4139 >> 8) & 0xff, + 4139 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44247,8 +56919,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (519 >> 8) & 0xff, - 519 & 0xff} + (685 >> 8) & 0xff, + 685 & 0xff} }, { .description = "l4.dst", @@ -44256,8 +56928,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3063 >> 8) & 0xff, - 3063 & 0xff, + (4142 >> 8) & 0xff, + 4142 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44266,8 +56938,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (520 >> 8) & 0xff, - 520 & 0xff} + (686 >> 8) & 0xff, + 686 & 0xff} }, { .description = "l4.dst", @@ -44275,8 +56947,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3066 >> 8) & 0xff, - 3066 & 0xff, + (4145 >> 8) & 0xff, + 4145 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -44288,8 +56960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3072 >> 8) & 0xff, - 3072 & 0xff, + (4151 >> 8) & 0xff, + 4151 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44298,8 +56970,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (522 >> 8) & 0xff, - 522 & 0xff} + (688 >> 8) & 0xff, + 688 & 0xff} }, { .description = "l4.dst", @@ -44307,8 +56979,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3076 >> 8) & 0xff, - 3076 & 0xff, + (4155 >> 8) & 0xff, + 4155 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44317,8 +56989,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (523 >> 8) & 0xff, - 523 & 0xff} + (689 >> 8) & 0xff, + 689 & 0xff} }, { .description = "l4.dst", @@ -44326,8 +56998,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3079 >> 8) & 0xff, - 3079 & 0xff, + (4158 >> 8) & 0xff, + 4158 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44336,8 +57008,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (524 >> 8) & 0xff, - 524 & 0xff} + (690 >> 8) & 0xff, + 690 & 0xff} }, { .description = "l4.dst", @@ -44345,8 +57017,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3082 >> 8) & 0xff, - 3082 & 0xff, + (4161 >> 8) & 0xff, + 4161 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_SKIP, @@ -44358,8 +57030,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3115 >> 8) & 0xff, - 3115 & 0xff, + (4194 >> 8) & 0xff, + 4194 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44373,8 +57045,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3129 >> 8) & 0xff, - 3129 & 0xff, + (4208 >> 8) & 0xff, + 4208 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44388,8 +57060,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3137 >> 8) & 0xff, - 3137 & 0xff, + (4216 >> 8) & 0xff, + 4216 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44403,8 +57075,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3145 >> 8) & 0xff, - 3145 & 0xff, + (4224 >> 8) & 0xff, + 4224 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44418,8 +57090,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3153 >> 8) & 0xff, - 3153 & 0xff, + (4232 >> 8) & 0xff, + 4232 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44433,8 +57105,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3161 >> 8) & 0xff, - 3161 & 0xff, + (4240 >> 8) & 0xff, + 4240 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44448,8 +57120,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3169 >> 8) & 0xff, - 3169 & 0xff, + (4248 >> 8) & 0xff, + 4248 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44463,8 +57135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3178 >> 8) & 0xff, - 3178 & 0xff, + (4257 >> 8) & 0xff, + 4257 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44478,8 +57150,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3185 >> 8) & 0xff, - 3185 & 0xff, + (4264 >> 8) & 0xff, + 4264 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44493,8 +57165,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3192 >> 8) & 0xff, - 3192 & 0xff, + (4271 >> 8) & 0xff, + 4271 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44508,8 +57180,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3199 >> 8) & 0xff, - 3199 & 0xff, + (4278 >> 8) & 0xff, + 4278 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44523,8 +57195,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3207 >> 8) & 0xff, - 3207 & 0xff, + (4286 >> 8) & 0xff, + 4286 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44538,8 +57210,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3216 >> 8) & 0xff, - 3216 & 0xff, + (4295 >> 8) & 0xff, + 4295 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44547,8 +57219,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (538 >> 8) & 0xff, - 538 & 0xff} + (704 >> 8) & 0xff, + 704 & 0xff} }, { .description = "l2_ivv.en", @@ -44556,8 +57228,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3221 >> 8) & 0xff, - 3221 & 0xff, + (4300 >> 8) & 0xff, + 4300 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44565,8 +57237,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (539 >> 8) & 0xff, - 539 & 0xff} + (705 >> 8) & 0xff, + 705 & 0xff} }, { .description = "l2_ivv.en", @@ -44574,8 +57246,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3225 >> 8) & 0xff, - 3225 & 0xff, + (4304 >> 8) & 0xff, + 4304 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44589,8 +57261,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3234 >> 8) & 0xff, - 3234 & 0xff, + (4313 >> 8) & 0xff, + 4313 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44604,8 +57276,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3242 >> 8) & 0xff, - 3242 & 0xff, + (4321 >> 8) & 0xff, + 4321 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44613,8 +57285,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (542 >> 8) & 0xff, - 542 & 0xff} + (708 >> 8) & 0xff, + 708 & 0xff} }, { .description = "l3_sip.en", @@ -44622,8 +57294,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3246 >> 8) & 0xff, - 3246 & 0xff, + (4325 >> 8) & 0xff, + 4325 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44631,8 +57303,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (543 >> 8) & 0xff, - 543 & 0xff} + (709 >> 8) & 0xff, + 709 & 0xff} }, { .description = "l3_sip.en", @@ -44640,8 +57312,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3249 >> 8) & 0xff, - 3249 & 0xff, + (4328 >> 8) & 0xff, + 4328 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44655,8 +57327,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3256 >> 8) & 0xff, - 3256 & 0xff, + (4335 >> 8) & 0xff, + 4335 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44664,8 +57336,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (545 >> 8) & 0xff, - 545 & 0xff} + (711 >> 8) & 0xff, + 711 & 0xff} }, { .description = "l3_dip.en", @@ -44673,8 +57345,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3260 >> 8) & 0xff, - 3260 & 0xff, + (4339 >> 8) & 0xff, + 4339 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44682,8 +57354,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (546 >> 8) & 0xff, - 546 & 0xff} + (712 >> 8) & 0xff, + 712 & 0xff} }, { .description = "l3_dip.en", @@ -44691,8 +57363,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3263 >> 8) & 0xff, - 3263 & 0xff, + (4342 >> 8) & 0xff, + 4342 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44706,8 +57378,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3270 >> 8) & 0xff, - 3270 & 0xff, + (4349 >> 8) & 0xff, + 4349 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44715,8 +57387,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (548 >> 8) & 0xff, - 548 & 0xff} + (714 >> 8) & 0xff, + 714 & 0xff} }, { .description = "l3_ttl.en", @@ -44724,8 +57396,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3274 >> 8) & 0xff, - 3274 & 0xff, + (4353 >> 8) & 0xff, + 4353 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44733,8 +57405,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (549 >> 8) & 0xff, - 549 & 0xff} + (715 >> 8) & 0xff, + 715 & 0xff} }, { .description = "l3_ttl.en", @@ -44742,8 +57414,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3277 >> 8) & 0xff, - 3277 & 0xff, + (4356 >> 8) & 0xff, + 4356 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44757,8 +57429,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3284 >> 8) & 0xff, - 3284 & 0xff, + (4363 >> 8) & 0xff, + 4363 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44766,8 +57438,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (551 >> 8) & 0xff, - 551 & 0xff} + (717 >> 8) & 0xff, + 717 & 0xff} }, { .description = "l3_prot.en", @@ -44775,8 +57447,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3288 >> 8) & 0xff, - 3288 & 0xff, + (4367 >> 8) & 0xff, + 4367 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44784,8 +57456,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (552 >> 8) & 0xff, - 552 & 0xff} + (718 >> 8) & 0xff, + 718 & 0xff} }, { .description = "l3_prot.en", @@ -44793,8 +57465,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3291 >> 8) & 0xff, - 3291 & 0xff, + (4370 >> 8) & 0xff, + 4370 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44808,8 +57480,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3298 >> 8) & 0xff, - 3298 & 0xff, + (4377 >> 8) & 0xff, + 4377 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44817,8 +57489,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (554 >> 8) & 0xff, - 554 & 0xff} + (720 >> 8) & 0xff, + 720 & 0xff} }, { .description = "l3_qos.en", @@ -44826,8 +57498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3302 >> 8) & 0xff, - 3302 & 0xff, + (4381 >> 8) & 0xff, + 4381 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44835,8 +57507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (555 >> 8) & 0xff, - 555 & 0xff} + (721 >> 8) & 0xff, + 721 & 0xff} }, { .description = "l3_qos.en", @@ -44844,8 +57516,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3305 >> 8) & 0xff, - 3305 & 0xff, + (4384 >> 8) & 0xff, + 4384 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44859,8 +57531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3312 >> 8) & 0xff, - 3312 & 0xff, + (4391 >> 8) & 0xff, + 4391 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44868,8 +57540,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (557 >> 8) & 0xff, - 557 & 0xff} + (723 >> 8) & 0xff, + 723 & 0xff} }, { .description = "l4_src.en", @@ -44877,8 +57549,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3316 >> 8) & 0xff, - 3316 & 0xff, + (4395 >> 8) & 0xff, + 4395 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44886,8 +57558,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (558 >> 8) & 0xff, - 558 & 0xff} + (724 >> 8) & 0xff, + 724 & 0xff} }, { .description = "l4_src.en", @@ -44895,8 +57567,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3319 >> 8) & 0xff, - 3319 & 0xff, + (4398 >> 8) & 0xff, + 4398 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44910,8 +57582,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3326 >> 8) & 0xff, - 3326 & 0xff, + (4405 >> 8) & 0xff, + 4405 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44919,8 +57591,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (560 >> 8) & 0xff, - 560 & 0xff} + (726 >> 8) & 0xff, + 726 & 0xff} }, { .description = "l4_dst.en", @@ -44928,8 +57600,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3330 >> 8) & 0xff, - 3330 & 0xff, + (4409 >> 8) & 0xff, + 4409 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44937,8 +57609,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (561 >> 8) & 0xff, - 561 & 0xff} + (727 >> 8) & 0xff, + 727 & 0xff} }, { .description = "l4_dst.en", @@ -44946,8 +57618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3333 >> 8) & 0xff, - 3333 & 0xff, + (4412 >> 8) & 0xff, + 4412 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -44961,8 +57633,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3377 >> 8) & 0xff, - 3377 & 0xff, + (4456 >> 8) & 0xff, + 4456 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -44974,8 +57646,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3387 >> 8) & 0xff, - 3387 & 0xff, + (4466 >> 8) & 0xff, + 4466 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -44990,8 +57662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3438 >> 8) & 0xff, - 3438 & 0xff, + (4517 >> 8) & 0xff, + 4517 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45003,8 +57675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3446 >> 8) & 0xff, - 3446 & 0xff, + (4525 >> 8) & 0xff, + 4525 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45019,8 +57691,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3454 >> 8) & 0xff, - 3454 & 0xff, + (4533 >> 8) & 0xff, + 4533 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45032,8 +57704,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3462 >> 8) & 0xff, - 3462 & 0xff, + (4541 >> 8) & 0xff, + 4541 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45048,8 +57720,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3470 >> 8) & 0xff, - 3470 & 0xff, + (4549 >> 8) & 0xff, + 4549 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45061,8 +57733,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3478 >> 8) & 0xff, - 3478 & 0xff, + (4557 >> 8) & 0xff, + 4557 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45077,8 +57749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3486 >> 8) & 0xff, - 3486 & 0xff, + (4565 >> 8) & 0xff, + 4565 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45090,8 +57762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3494 >> 8) & 0xff, - 3494 & 0xff, + (4573 >> 8) & 0xff, + 4573 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45106,8 +57778,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3503 >> 8) & 0xff, - 3503 & 0xff, + (4582 >> 8) & 0xff, + 4582 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45119,8 +57791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3512 >> 8) & 0xff, - 3512 & 0xff, + (4591 >> 8) & 0xff, + 4591 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45135,8 +57807,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3519 >> 8) & 0xff, - 3519 & 0xff, + (4598 >> 8) & 0xff, + 4598 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45148,8 +57820,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3525 >> 8) & 0xff, - 3525 & 0xff, + (4604 >> 8) & 0xff, + 4604 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45164,8 +57836,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3532 >> 8) & 0xff, - 3532 & 0xff, + (4611 >> 8) & 0xff, + 4611 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45177,8 +57849,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3539 >> 8) & 0xff, - 3539 & 0xff, + (4618 >> 8) & 0xff, + 4618 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45193,8 +57865,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3546 >> 8) & 0xff, - 3546 & 0xff, + (4625 >> 8) & 0xff, + 4625 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45206,8 +57878,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3553 >> 8) & 0xff, - 3553 & 0xff, + (4632 >> 8) & 0xff, + 4632 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45222,8 +57894,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3561 >> 8) & 0xff, - 3561 & 0xff, + (4640 >> 8) & 0xff, + 4640 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45235,8 +57907,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3570 >> 8) & 0xff, - 3570 & 0xff, + (4649 >> 8) & 0xff, + 4649 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45251,15 +57923,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3579 >> 8) & 0xff, - 3579 & 0xff, + (4658 >> 8) & 0xff, + 4658 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (583 >> 8) & 0xff, - 583 & 0xff} + (749 >> 8) & 0xff, + 749 & 0xff} }, { .description = "l2_ivv", @@ -45267,15 +57939,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3584 >> 8) & 0xff, - 3584 & 0xff, + (4663 >> 8) & 0xff, + 4663 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (584 >> 8) & 0xff, - 584 & 0xff} + (750 >> 8) & 0xff, + 750 & 0xff} }, { .description = "l2_ivv", @@ -45283,8 +57955,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3588 >> 8) & 0xff, - 3588 & 0xff, + (4667 >> 8) & 0xff, + 4667 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45296,8 +57968,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3597 >> 8) & 0xff, - 3597 & 0xff, + (4676 >> 8) & 0xff, + 4676 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45306,8 +57978,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (586 >> 8) & 0xff, - 586 & 0xff} + (752 >> 8) & 0xff, + 752 & 0xff} }, { .description = "l2_ivv", @@ -45315,8 +57987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3602 >> 8) & 0xff, - 3602 & 0xff, + (4681 >> 8) & 0xff, + 4681 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45325,8 +57997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (587 >> 8) & 0xff, - 587 & 0xff} + (753 >> 8) & 0xff, + 753 & 0xff} }, { .description = "l2_ivv", @@ -45334,8 +58006,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3606 >> 8) & 0xff, - 3606 & 0xff, + (4685 >> 8) & 0xff, + 4685 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45350,8 +58022,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3615 >> 8) & 0xff, - 3615 & 0xff, + (4694 >> 8) & 0xff, + 4694 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45363,8 +58035,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3624 >> 8) & 0xff, - 3624 & 0xff, + (4703 >> 8) & 0xff, + 4703 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45379,8 +58051,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3632 >> 8) & 0xff, - 3632 & 0xff, + (4711 >> 8) & 0xff, + 4711 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45392,8 +58064,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3639 >> 8) & 0xff, - 3639 & 0xff, + (4718 >> 8) & 0xff, + 4718 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45408,8 +58080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3646 >> 8) & 0xff, - 3646 & 0xff, + (4725 >> 8) & 0xff, + 4725 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45421,8 +58093,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3653 >> 8) & 0xff, - 3653 & 0xff, + (4732 >> 8) & 0xff, + 4732 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45437,8 +58109,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3660 >> 8) & 0xff, - 3660 & 0xff, + (4739 >> 8) & 0xff, + 4739 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45450,8 +58122,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3667 >> 8) & 0xff, - 3667 & 0xff, + (4746 >> 8) & 0xff, + 4746 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45466,8 +58138,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3674 >> 8) & 0xff, - 3674 & 0xff, + (4753 >> 8) & 0xff, + 4753 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45479,8 +58151,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3681 >> 8) & 0xff, - 3681 & 0xff, + (4760 >> 8) & 0xff, + 4760 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45495,15 +58167,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3688 >> 8) & 0xff, - 3688 & 0xff, + (4767 >> 8) & 0xff, + 4767 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (599 >> 8) & 0xff, - 599 & 0xff} + (765 >> 8) & 0xff, + 765 & 0xff} }, { .description = "l3.ttl", @@ -45511,15 +58183,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3692 >> 8) & 0xff, - 3692 & 0xff, + (4771 >> 8) & 0xff, + 4771 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (600 >> 8) & 0xff, - 600 & 0xff} + (766 >> 8) & 0xff, + 766 & 0xff} }, { .description = "l3.ttl", @@ -45527,8 +58199,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3695 >> 8) & 0xff, - 3695 & 0xff, + (4774 >> 8) & 0xff, + 4774 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45540,8 +58212,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3702 >> 8) & 0xff, - 3702 & 0xff, + (4781 >> 8) & 0xff, + 4781 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45550,8 +58222,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (602 >> 8) & 0xff, - 602 & 0xff} + (768 >> 8) & 0xff, + 768 & 0xff} }, { .description = "l3.ttl", @@ -45559,8 +58231,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3706 >> 8) & 0xff, - 3706 & 0xff, + (4785 >> 8) & 0xff, + 4785 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45569,8 +58241,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (603 >> 8) & 0xff, - 603 & 0xff} + (769 >> 8) & 0xff, + 769 & 0xff} }, { .description = "l3.ttl", @@ -45578,8 +58250,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3709 >> 8) & 0xff, - 3709 & 0xff, + (4788 >> 8) & 0xff, + 4788 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45594,15 +58266,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3716 >> 8) & 0xff, - 3716 & 0xff, + (4795 >> 8) & 0xff, + 4795 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (605 >> 8) & 0xff, - 605 & 0xff} + (771 >> 8) & 0xff, + 771 & 0xff} }, { .description = "l3.prot", @@ -45610,15 +58282,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3720 >> 8) & 0xff, - 3720 & 0xff, + (4799 >> 8) & 0xff, + 4799 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (606 >> 8) & 0xff, - 606 & 0xff} + (772 >> 8) & 0xff, + 772 & 0xff} }, { .description = "l3.prot", @@ -45626,8 +58298,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3723 >> 8) & 0xff, - 3723 & 0xff, + (4802 >> 8) & 0xff, + 4802 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45639,8 +58311,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3730 >> 8) & 0xff, - 3730 & 0xff, + (4809 >> 8) & 0xff, + 4809 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45649,8 +58321,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (608 >> 8) & 0xff, - 608 & 0xff} + (774 >> 8) & 0xff, + 774 & 0xff} }, { .description = "l3.prot", @@ -45658,8 +58330,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3734 >> 8) & 0xff, - 3734 & 0xff, + (4813 >> 8) & 0xff, + 4813 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45668,8 +58340,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (609 >> 8) & 0xff, - 609 & 0xff} + (775 >> 8) & 0xff, + 775 & 0xff} }, { .description = "l3.prot", @@ -45677,8 +58349,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3737 >> 8) & 0xff, - 3737 & 0xff, + (4816 >> 8) & 0xff, + 4816 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45693,15 +58365,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3744 >> 8) & 0xff, - 3744 & 0xff, + (4823 >> 8) & 0xff, + 4823 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (611 >> 8) & 0xff, - 611 & 0xff} + (777 >> 8) & 0xff, + 777 & 0xff} }, { .description = "l3.qos", @@ -45709,15 +58381,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3748 >> 8) & 0xff, - 3748 & 0xff, + (4827 >> 8) & 0xff, + 4827 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (612 >> 8) & 0xff, - 612 & 0xff} + (778 >> 8) & 0xff, + 778 & 0xff} }, { .description = "l3.qos", @@ -45725,8 +58397,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3751 >> 8) & 0xff, - 3751 & 0xff, + (4830 >> 8) & 0xff, + 4830 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45738,8 +58410,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3758 >> 8) & 0xff, - 3758 & 0xff, + (4837 >> 8) & 0xff, + 4837 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45748,8 +58420,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (614 >> 8) & 0xff, - 614 & 0xff} + (780 >> 8) & 0xff, + 780 & 0xff} }, { .description = "l3.qos", @@ -45757,8 +58429,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3762 >> 8) & 0xff, - 3762 & 0xff, + (4841 >> 8) & 0xff, + 4841 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45767,8 +58439,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (615 >> 8) & 0xff, - 615 & 0xff} + (781 >> 8) & 0xff, + 781 & 0xff} }, { .description = "l3.qos", @@ -45776,8 +58448,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3765 >> 8) & 0xff, - 3765 & 0xff, + (4844 >> 8) & 0xff, + 4844 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45792,15 +58464,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3772 >> 8) & 0xff, - 3772 & 0xff, + (4851 >> 8) & 0xff, + 4851 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (617 >> 8) & 0xff, - 617 & 0xff} + (783 >> 8) & 0xff, + 783 & 0xff} }, { .description = "l4.src", @@ -45808,15 +58480,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3776 >> 8) & 0xff, - 3776 & 0xff, + (4855 >> 8) & 0xff, + 4855 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (618 >> 8) & 0xff, - 618 & 0xff} + (784 >> 8) & 0xff, + 784 & 0xff} }, { .description = "l4.src", @@ -45824,8 +58496,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3779 >> 8) & 0xff, - 3779 & 0xff, + (4858 >> 8) & 0xff, + 4858 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45837,8 +58509,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3786 >> 8) & 0xff, - 3786 & 0xff, + (4865 >> 8) & 0xff, + 4865 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45847,8 +58519,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (620 >> 8) & 0xff, - 620 & 0xff} + (786 >> 8) & 0xff, + 786 & 0xff} }, { .description = "l4.src", @@ -45856,8 +58528,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3790 >> 8) & 0xff, - 3790 & 0xff, + (4869 >> 8) & 0xff, + 4869 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45866,8 +58538,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (621 >> 8) & 0xff, - 621 & 0xff} + (787 >> 8) & 0xff, + 787 & 0xff} }, { .description = "l4.src", @@ -45875,8 +58547,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3793 >> 8) & 0xff, - 3793 & 0xff, + (4872 >> 8) & 0xff, + 4872 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45891,15 +58563,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3800 >> 8) & 0xff, - 3800 & 0xff, + (4879 >> 8) & 0xff, + 4879 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (623 >> 8) & 0xff, - 623 & 0xff} + (789 >> 8) & 0xff, + 789 & 0xff} }, { .description = "l4.dst", @@ -45907,15 +58579,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3804 >> 8) & 0xff, - 3804 & 0xff, + (4883 >> 8) & 0xff, + 4883 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (624 >> 8) & 0xff, - 624 & 0xff} + (790 >> 8) & 0xff, + 790 & 0xff} }, { .description = "l4.dst", @@ -45923,8 +58595,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3807 >> 8) & 0xff, - 3807 & 0xff, + (4886 >> 8) & 0xff, + 4886 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_ONES, @@ -45936,8 +58608,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3814 >> 8) & 0xff, - 3814 & 0xff, + (4893 >> 8) & 0xff, + 4893 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45946,8 +58618,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (626 >> 8) & 0xff, - 626 & 0xff} + (792 >> 8) & 0xff, + 792 & 0xff} }, { .description = "l4.dst", @@ -45955,8 +58627,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3818 >> 8) & 0xff, - 3818 & 0xff, + (4897 >> 8) & 0xff, + 4897 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -45965,8 +58637,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (627 >> 8) & 0xff, - 627 & 0xff} + (793 >> 8) & 0xff, + 793 & 0xff} }, { .description = "l4.dst", @@ -45974,8 +58646,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_key_ext_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3821 >> 8) & 0xff, - 3821 & 0xff, + (4900 >> 8) & 0xff, + 4900 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_HF, @@ -46158,6 +58830,57 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} }, + /* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */ + { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "ctxt_meta_prof", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "def_ctxt_data", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "ctxt_opcode", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} + }, /* class_tid: 1, , table: flow_chain_l2_cntxt.write */ { .description = "rid", @@ -46228,6 +58951,57 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} }, + /* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */ + { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "ctxt_meta_prof", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "def_ctxt_data", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "ctxt_opcode", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} + }, /* class_tid: 1, , table: mac_addr_cache.wr */ { .description = "rid", @@ -46261,7 +59035,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { }, { .description = "prof_func_id", - .field_bit_size = 8, + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, @@ -46272,8 +59046,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (145 >> 8) & 0xff, - 145 & 0xff, + (163 >> 8) & 0xff, + 163 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46311,10 +59085,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (147 >> 8) & 0xff, - 147 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (165 >> 8) & 0xff, + 165 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, @@ -46326,8 +59100,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (149 >> 8) & 0xff, - 149 & 0xff, + (168 >> 8) & 0xff, + 168 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46353,8 +59127,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (150 >> 8) & 0xff, - 150 & 0xff, + (169 >> 8) & 0xff, + 169 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46368,8 +59142,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (154 >> 8) & 0xff, - 154 & 0xff, + (173 >> 8) & 0xff, + 173 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46413,8 +59187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (158 >> 8) & 0xff, - 158 & 0xff, + (177 >> 8) & 0xff, + 177 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46446,8 +59220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (163 >> 8) & 0xff, - 163 & 0xff, + (182 >> 8) & 0xff, + 182 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46470,8 +59244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (173 >> 8) & 0xff, - 173 & 0xff, + (192 >> 8) & 0xff, + 192 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46491,8 +59265,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (178 >> 8) & 0xff, - 178 & 0xff, + (197 >> 8) & 0xff, + 197 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, @@ -46516,8 +59290,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (187 >> 8) & 0xff, - 187 & 0xff, + (206 >> 8) & 0xff, + 206 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46540,8 +59314,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (195 >> 8) & 0xff, - 195 & 0xff, + (214 >> 8) & 0xff, + 214 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46558,8 +59332,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (203 >> 8) & 0xff, - 203 & 0xff, + (222 >> 8) & 0xff, + 222 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46582,8 +59356,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (211 >> 8) & 0xff, - 211 & 0xff, + (230 >> 8) & 0xff, + 230 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46666,8 +59440,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (219 >> 8) & 0xff, - 219 & 0xff, + (238 >> 8) & 0xff, + 238 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46684,8 +59458,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (227 >> 8) & 0xff, - 227 & 0xff, + (246 >> 8) & 0xff, + 246 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46750,8 +59524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (236 >> 8) & 0xff, - 236 & 0xff, + (255 >> 8) & 0xff, + 255 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46804,8 +59578,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (242 >> 8) & 0xff, - 242 & 0xff, + (261 >> 8) & 0xff, + 261 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46822,8 +59596,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (249 >> 8) & 0xff, - 249 & 0xff, + (268 >> 8) & 0xff, + 268 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46870,8 +59644,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (256 >> 8) & 0xff, - 256 & 0xff, + (275 >> 8) & 0xff, + 275 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46906,8 +59680,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (265 >> 8) & 0xff, - 265 & 0xff, + (284 >> 8) & 0xff, + 284 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46930,8 +59704,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (283 >> 8) & 0xff, - 283 & 0xff, + (302 >> 8) & 0xff, + 302 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46954,8 +59728,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (292 >> 8) & 0xff, - 292 & 0xff, + (311 >> 8) & 0xff, + 311 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -46978,8 +59752,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (310 >> 8) & 0xff, - 310 & 0xff, + (329 >> 8) & 0xff, + 329 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47002,8 +59776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (328 >> 8) & 0xff, - 328 & 0xff, + (347 >> 8) & 0xff, + 347 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47020,8 +59794,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (346 >> 8) & 0xff, - 346 & 0xff, + (365 >> 8) & 0xff, + 365 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47044,8 +59818,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (364 >> 8) & 0xff, - 364 & 0xff, + (383 >> 8) & 0xff, + 383 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -47128,8 +59902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (382 >> 8) & 0xff, - 382 & 0xff, + (401 >> 8) & 0xff, + 401 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, @@ -47147,8 +59921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (391 >> 8) & 0xff, - 391 & 0xff, + (410 >> 8) & 0xff, + 410 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, @@ -47220,6 +59994,42 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 1, , table: wm.ingress_generic_template_grp_catch_all */ + { + .description = "ctxt_data", + .field_bit_size = 14, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "meta_prof", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "opcode", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "data", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR & 0xff} + }, + { + .description = "strength", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, /* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */ { .description = "rid", @@ -47227,8 +60037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} + (BNXT_ULP_RF_IDX_RID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID_1 & 0xff} }, { .description = "wc_profile_id", @@ -48031,8 +60841,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1190 >> 8) & 0xff, - 1190 & 0xff, + (1735 >> 8) & 0xff, + 1735 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48070,8 +60880,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (1192 >> 8) & 0xff, - 1192 & 0xff, + (1737 >> 8) & 0xff, + 1737 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48085,8 +60895,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1194 >> 8) & 0xff, - 1194 & 0xff, + (1739 >> 8) & 0xff, + 1739 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48112,8 +60922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1195 >> 8) & 0xff, - 1195 & 0xff, + (1740 >> 8) & 0xff, + 1740 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48127,8 +60937,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1200 >> 8) & 0xff, - 1200 & 0xff, + (1745 >> 8) & 0xff, + 1745 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48172,8 +60982,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1204 >> 8) & 0xff, - 1204 & 0xff, + (1749 >> 8) & 0xff, + 1749 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48205,8 +61015,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1209 >> 8) & 0xff, - 1209 & 0xff, + (1754 >> 8) & 0xff, + 1754 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48214,8 +61024,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (213 >> 8) & 0xff, - 213 & 0xff} + (295 >> 8) & 0xff, + 295 & 0xff} }, { .description = "tl2_ivt.en", @@ -48229,8 +61039,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1219 >> 8) & 0xff, - 1219 & 0xff, + (1764 >> 8) & 0xff, + 1764 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48250,8 +61060,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1224 >> 8) & 0xff, - 1224 & 0xff, + (1769 >> 8) & 0xff, + 1769 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48259,8 +61069,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (214 >> 8) & 0xff, - 214 & 0xff} + (296 >> 8) & 0xff, + 296 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -48274,8 +61084,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1232 >> 8) & 0xff, - 1232 & 0xff, + (1777 >> 8) & 0xff, + 1777 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48283,8 +61093,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (215 >> 8) & 0xff, - 215 & 0xff} + (297 >> 8) & 0xff, + 297 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -48298,8 +61108,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1240 >> 8) & 0xff, - 1240 & 0xff, + (1785 >> 8) & 0xff, + 1785 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48307,8 +61117,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (216 >> 8) & 0xff, - 216 & 0xff} + (298 >> 8) & 0xff, + 298 & 0xff} }, { .description = "tl3_prot.en", @@ -48316,8 +61126,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1248 >> 8) & 0xff, - 1248 & 0xff, + (1793 >> 8) & 0xff, + 1793 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48325,8 +61135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (217 >> 8) & 0xff, - 217 & 0xff} + (299 >> 8) & 0xff, + 299 & 0xff} }, { .description = "tl3_fid.en", @@ -48340,8 +61150,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1256 >> 8) & 0xff, - 1256 & 0xff, + (1801 >> 8) & 0xff, + 1801 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48349,8 +61159,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (218 >> 8) & 0xff, - 218 & 0xff} + (300 >> 8) & 0xff, + 300 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -48424,8 +61234,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1264 >> 8) & 0xff, - 1264 & 0xff, + (1809 >> 8) & 0xff, + 1809 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48433,8 +61243,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (219 >> 8) & 0xff, - 219 & 0xff} + (301 >> 8) & 0xff, + 301 & 0xff} }, { .description = "tl4_dst.en", @@ -48442,8 +61252,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1272 >> 8) & 0xff, - 1272 & 0xff, + (1817 >> 8) & 0xff, + 1817 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48451,8 +61261,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (220 >> 8) & 0xff, - 220 & 0xff} + (302 >> 8) & 0xff, + 302 & 0xff} }, { .description = "tl4_flags.en", @@ -48508,8 +61318,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1281 >> 8) & 0xff, - 1281 & 0xff, + (1826 >> 8) & 0xff, + 1826 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48517,8 +61327,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (221 >> 8) & 0xff, - 221 & 0xff} + (303 >> 8) & 0xff, + 303 & 0xff} }, { .description = "tid.en", @@ -48562,8 +61372,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1287 >> 8) & 0xff, - 1287 & 0xff, + (1832 >> 8) & 0xff, + 1832 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48571,8 +61381,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (222 >> 8) & 0xff, - 222 & 0xff} + (304 >> 8) & 0xff, + 304 & 0xff} }, { .description = "l2_smac.en", @@ -48580,8 +61390,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1296 >> 8) & 0xff, - 1296 & 0xff, + (1841 >> 8) & 0xff, + 1841 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48589,8 +61399,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (223 >> 8) & 0xff, - 223 & 0xff} + (305 >> 8) & 0xff, + 305 & 0xff} }, { .description = "l2_dt.en", @@ -48628,8 +61438,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1303 >> 8) & 0xff, - 1303 & 0xff, + (1848 >> 8) & 0xff, + 1848 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48637,8 +61447,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (224 >> 8) & 0xff, - 224 & 0xff} + (306 >> 8) & 0xff, + 306 & 0xff} }, { .description = "l2_ovt.en", @@ -48664,8 +61474,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1312 >> 8) & 0xff, - 1312 & 0xff, + (1857 >> 8) & 0xff, + 1857 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48673,8 +61483,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (225 >> 8) & 0xff, - 225 & 0xff} + (307 >> 8) & 0xff, + 307 & 0xff} }, { .description = "l2_ivt.en", @@ -48688,8 +61498,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1330 >> 8) & 0xff, - 1330 & 0xff, + (1875 >> 8) & 0xff, + 1875 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48697,8 +61507,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (228 >> 8) & 0xff, - 228 & 0xff} + (310 >> 8) & 0xff, + 310 & 0xff} }, { .description = "l3_l3type.en", @@ -48712,8 +61522,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1339 >> 8) & 0xff, - 1339 & 0xff, + (1884 >> 8) & 0xff, + 1884 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48721,8 +61531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (229 >> 8) & 0xff, - 229 & 0xff} + (311 >> 8) & 0xff, + 311 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -48736,8 +61546,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1353 >> 8) & 0xff, - 1353 & 0xff, + (1898 >> 8) & 0xff, + 1898 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48745,8 +61555,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (232 >> 8) & 0xff, - 232 & 0xff} + (314 >> 8) & 0xff, + 314 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -48760,8 +61570,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1367 >> 8) & 0xff, - 1367 & 0xff, + (1912 >> 8) & 0xff, + 1912 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48769,8 +61579,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (235 >> 8) & 0xff, - 235 & 0xff} + (317 >> 8) & 0xff, + 317 & 0xff} }, { .description = "l3_prot.en", @@ -48778,8 +61588,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1381 >> 8) & 0xff, - 1381 & 0xff, + (1926 >> 8) & 0xff, + 1926 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48787,8 +61597,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (238 >> 8) & 0xff, - 238 & 0xff} + (320 >> 8) & 0xff, + 320 & 0xff} }, { .description = "l3_fid.en", @@ -48802,8 +61612,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1395 >> 8) & 0xff, - 1395 & 0xff, + (1940 >> 8) & 0xff, + 1940 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48811,8 +61621,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (241 >> 8) & 0xff, - 241 & 0xff} + (323 >> 8) & 0xff, + 323 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -48886,8 +61696,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1409 >> 8) & 0xff, - 1409 & 0xff, + (1954 >> 8) & 0xff, + 1954 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48895,8 +61705,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (244 >> 8) & 0xff, - 244 & 0xff} + (326 >> 8) & 0xff, + 326 & 0xff} }, { .description = "l4_dst.en", @@ -48904,8 +61714,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (1423 >> 8) & 0xff, - 1423 & 0xff, + (1968 >> 8) & 0xff, + 1968 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -48913,8 +61723,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (247 >> 8) & 0xff, - 247 & 0xff} + (329 >> 8) & 0xff, + 329 & 0xff} }, { .description = "l4_flags.en", @@ -49156,8 +61966,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2040 >> 8) & 0xff, - 2040 & 0xff, + (2587 >> 8) & 0xff, + 2587 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49195,10 +62005,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (2042 >> 8) & 0xff, - 2042 & 0xff, - (2 >> 8) & 0xff, - 2 & 0xff}, + (2589 >> 8) & 0xff, + 2589 & 0xff, + (3 >> 8) & 0xff, + 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1}, @@ -49210,8 +62020,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2044 >> 8) & 0xff, - 2044 & 0xff, + (2592 >> 8) & 0xff, + 2592 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49237,8 +62047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2045 >> 8) & 0xff, - 2045 & 0xff, + (2593 >> 8) & 0xff, + 2593 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49252,14 +62062,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2049 >> 8) & 0xff, - 2049 & 0xff, + (2597 >> 8) & 0xff, + 2597 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (320 >> 8) & 0xff, - 320 & 0xff}, + (402 >> 8) & 0xff, + 402 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { @@ -49298,8 +62108,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2056 >> 8) & 0xff, - 2056 & 0xff, + (2604 >> 8) & 0xff, + 2604 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49331,8 +62141,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2061 >> 8) & 0xff, - 2061 & 0xff, + (2609 >> 8) & 0xff, + 2609 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49340,8 +62150,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (321 >> 8) & 0xff, - 321 & 0xff} + (403 >> 8) & 0xff, + 403 & 0xff} }, { .description = "tl2_ivt.en", @@ -49355,8 +62165,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2071 >> 8) & 0xff, - 2071 & 0xff, + (2619 >> 8) & 0xff, + 2619 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49376,18 +62186,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2076 >> 8) & 0xff, - 2076 & 0xff, + (2624 >> 8) & 0xff, + 2624 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (322 >> 8) & 0xff, - 322 & 0xff}, + (404 >> 8) & 0xff, + 404 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (323 >> 8) & 0xff, - 323 & 0xff} + (405 >> 8) & 0xff, + 405 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -49401,8 +62211,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2085 >> 8) & 0xff, - 2085 & 0xff, + (2633 >> 8) & 0xff, + 2633 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49410,8 +62220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (324 >> 8) & 0xff, - 324 & 0xff} + (406 >> 8) & 0xff, + 406 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -49425,8 +62235,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2093 >> 8) & 0xff, - 2093 & 0xff, + (2641 >> 8) & 0xff, + 2641 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49434,8 +62244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (325 >> 8) & 0xff, - 325 & 0xff} + (407 >> 8) & 0xff, + 407 & 0xff} }, { .description = "tl3_prot.en", @@ -49443,8 +62253,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2101 >> 8) & 0xff, - 2101 & 0xff, + (2649 >> 8) & 0xff, + 2649 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49452,8 +62262,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (326 >> 8) & 0xff, - 326 & 0xff} + (408 >> 8) & 0xff, + 408 & 0xff} }, { .description = "tl3_fid.en", @@ -49467,8 +62277,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2109 >> 8) & 0xff, - 2109 & 0xff, + (2657 >> 8) & 0xff, + 2657 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49476,8 +62286,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (327 >> 8) & 0xff, - 327 & 0xff} + (409 >> 8) & 0xff, + 409 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -49551,8 +62361,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2117 >> 8) & 0xff, - 2117 & 0xff, + (2665 >> 8) & 0xff, + 2665 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49560,8 +62370,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (328 >> 8) & 0xff, - 328 & 0xff} + (410 >> 8) & 0xff, + 410 & 0xff} }, { .description = "tl4_dst.en", @@ -49569,8 +62379,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2125 >> 8) & 0xff, - 2125 & 0xff, + (2673 >> 8) & 0xff, + 2673 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49578,8 +62388,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (329 >> 8) & 0xff, - 329 & 0xff} + (411 >> 8) & 0xff, + 411 & 0xff} }, { .description = "tl4_flags.en", @@ -49635,8 +62445,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2134 >> 8) & 0xff, - 2134 & 0xff, + (2682 >> 8) & 0xff, + 2682 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49644,8 +62454,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (330 >> 8) & 0xff, - 330 & 0xff} + (412 >> 8) & 0xff, + 412 & 0xff} }, { .description = "tid.en", @@ -49689,8 +62499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2140 >> 8) & 0xff, - 2140 & 0xff, + (2688 >> 8) & 0xff, + 2688 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49698,8 +62508,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (331 >> 8) & 0xff, - 331 & 0xff} + (413 >> 8) & 0xff, + 413 & 0xff} }, { .description = "l2_smac.en", @@ -49707,8 +62517,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2147 >> 8) & 0xff, - 2147 & 0xff, + (2695 >> 8) & 0xff, + 2695 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49716,8 +62526,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (332 >> 8) & 0xff, - 332 & 0xff} + (414 >> 8) & 0xff, + 414 & 0xff} }, { .description = "l2_dt.en", @@ -49755,8 +62565,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2154 >> 8) & 0xff, - 2154 & 0xff, + (2702 >> 8) & 0xff, + 2702 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49764,8 +62574,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (333 >> 8) & 0xff, - 333 & 0xff} + (415 >> 8) & 0xff, + 415 & 0xff} }, { .description = "l2_ovt.en", @@ -49791,8 +62601,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2163 >> 8) & 0xff, - 2163 & 0xff, + (2711 >> 8) & 0xff, + 2711 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49800,8 +62610,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (334 >> 8) & 0xff, - 334 & 0xff} + (416 >> 8) & 0xff, + 416 & 0xff} }, { .description = "l2_ivt.en", @@ -49815,8 +62625,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2181 >> 8) & 0xff, - 2181 & 0xff, + (2729 >> 8) & 0xff, + 2729 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49824,8 +62634,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (337 >> 8) & 0xff, - 337 & 0xff} + (419 >> 8) & 0xff, + 419 & 0xff} }, { .description = "l3_l3type.en", @@ -49839,8 +62649,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2190 >> 8) & 0xff, - 2190 & 0xff, + (2738 >> 8) & 0xff, + 2738 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49848,8 +62658,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (338 >> 8) & 0xff, - 338 & 0xff} + (420 >> 8) & 0xff, + 420 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -49863,8 +62673,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2208 >> 8) & 0xff, - 2208 & 0xff, + (2756 >> 8) & 0xff, + 2756 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49872,8 +62682,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (341 >> 8) & 0xff, - 341 & 0xff} + (423 >> 8) & 0xff, + 423 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -49887,8 +62697,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2226 >> 8) & 0xff, - 2226 & 0xff, + (2774 >> 8) & 0xff, + 2774 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49896,8 +62706,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (344 >> 8) & 0xff, - 344 & 0xff} + (426 >> 8) & 0xff, + 426 & 0xff} }, { .description = "l3_prot.en", @@ -49905,8 +62715,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2244 >> 8) & 0xff, - 2244 & 0xff, + (2792 >> 8) & 0xff, + 2792 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49914,8 +62724,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (347 >> 8) & 0xff, - 347 & 0xff} + (429 >> 8) & 0xff, + 429 & 0xff} }, { .description = "l3_fid.en", @@ -49929,8 +62739,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2262 >> 8) & 0xff, - 2262 & 0xff, + (2810 >> 8) & 0xff, + 2810 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -49938,8 +62748,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (350 >> 8) & 0xff, - 350 & 0xff} + (432 >> 8) & 0xff, + 432 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -50013,18 +62823,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2280 >> 8) & 0xff, - 2280 & 0xff, + (2828 >> 8) & 0xff, + 2828 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (353 >> 8) & 0xff, - 353 & 0xff}, + (435 >> 8) & 0xff, + 435 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (354 >> 8) & 0xff, - 354 & 0xff} + (436 >> 8) & 0xff, + 436 & 0xff} }, { .description = "l4_dst.en", @@ -50032,18 +62842,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (2289 >> 8) & 0xff, - 2289 & 0xff, + (2837 >> 8) & 0xff, + 2837 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr2 = { - (356 >> 8) & 0xff, - 356 & 0xff}, + (438 >> 8) & 0xff, + 438 & 0xff}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (357 >> 8) & 0xff, - 357 & 0xff} + (439 >> 8) & 0xff, + 439 & 0xff} }, { .description = "l4_flags.en", @@ -50105,6 +62915,42 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 2, , table: wm.egress_generic_template_grp_catch_all */ + { + .description = "ctxt_data", + .field_bit_size = 14, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "meta_prof", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "opcode", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "data", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR & 0xff} + }, + { + .description = "strength", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, /* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */ { .description = "rid", @@ -50112,8 +62958,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} + (BNXT_ULP_RF_IDX_RID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID_1 & 0xff} }, { .description = "wc_profile_id", @@ -50916,8 +63762,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3092 >> 8) & 0xff, - 3092 & 0xff, + (4171 >> 8) & 0xff, + 4171 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50955,8 +63801,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR, .field_opr1 = { - (3094 >> 8) & 0xff, - 3094 & 0xff, + (4173 >> 8) & 0xff, + 4173 & 0xff, (2 >> 8) & 0xff, 2 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50970,8 +63816,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3096 >> 8) & 0xff, - 3096 & 0xff, + (4175 >> 8) & 0xff, + 4175 & 0xff, (1 >> 8) & 0xff, 1 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -50997,8 +63843,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3097 >> 8) & 0xff, - 3097 & 0xff, + (4176 >> 8) & 0xff, + 4176 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51012,8 +63858,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3101 >> 8) & 0xff, - 3101 & 0xff, + (4180 >> 8) & 0xff, + 4180 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51057,8 +63903,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3105 >> 8) & 0xff, - 3105 & 0xff, + (4184 >> 8) & 0xff, + 4184 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51090,8 +63936,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3110 >> 8) & 0xff, - 3110 & 0xff, + (4189 >> 8) & 0xff, + 4189 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51099,8 +63945,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (525 >> 8) & 0xff, - 525 & 0xff} + (691 >> 8) & 0xff, + 691 & 0xff} }, { .description = "tl2_ivt.en", @@ -51114,8 +63960,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3120 >> 8) & 0xff, - 3120 & 0xff, + (4199 >> 8) & 0xff, + 4199 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51135,8 +63981,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3125 >> 8) & 0xff, - 3125 & 0xff, + (4204 >> 8) & 0xff, + 4204 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51144,8 +63990,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (526 >> 8) & 0xff, - 526 & 0xff} + (692 >> 8) & 0xff, + 692 & 0xff} }, { .description = "tl3_sip_selcmp.en", @@ -51159,8 +64005,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3133 >> 8) & 0xff, - 3133 & 0xff, + (4212 >> 8) & 0xff, + 4212 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51168,8 +64014,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (527 >> 8) & 0xff, - 527 & 0xff} + (693 >> 8) & 0xff, + 693 & 0xff} }, { .description = "tl3_dip_selcmp.en", @@ -51183,8 +64029,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3141 >> 8) & 0xff, - 3141 & 0xff, + (4220 >> 8) & 0xff, + 4220 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51192,8 +64038,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (528 >> 8) & 0xff, - 528 & 0xff} + (694 >> 8) & 0xff, + 694 & 0xff} }, { .description = "tl3_prot.en", @@ -51201,8 +64047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3149 >> 8) & 0xff, - 3149 & 0xff, + (4228 >> 8) & 0xff, + 4228 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51210,8 +64056,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (529 >> 8) & 0xff, - 529 & 0xff} + (695 >> 8) & 0xff, + 695 & 0xff} }, { .description = "tl3_fid.en", @@ -51225,8 +64071,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3157 >> 8) & 0xff, - 3157 & 0xff, + (4236 >> 8) & 0xff, + 4236 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51234,8 +64080,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (530 >> 8) & 0xff, - 530 & 0xff} + (696 >> 8) & 0xff, + 696 & 0xff} }, { .description = "tl3_ieh_nonext.en", @@ -51309,8 +64155,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3165 >> 8) & 0xff, - 3165 & 0xff, + (4244 >> 8) & 0xff, + 4244 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51318,8 +64164,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (531 >> 8) & 0xff, - 531 & 0xff} + (697 >> 8) & 0xff, + 697 & 0xff} }, { .description = "tl4_dst.en", @@ -51327,8 +64173,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3173 >> 8) & 0xff, - 3173 & 0xff, + (4252 >> 8) & 0xff, + 4252 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51336,8 +64182,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (532 >> 8) & 0xff, - 532 & 0xff} + (698 >> 8) & 0xff, + 698 & 0xff} }, { .description = "tl4_flags.en", @@ -51393,8 +64239,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3182 >> 8) & 0xff, - 3182 & 0xff, + (4261 >> 8) & 0xff, + 4261 & 0xff, (3 >> 8) & 0xff, 3 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51402,8 +64248,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (533 >> 8) & 0xff, - 533 & 0xff} + (699 >> 8) & 0xff, + 699 & 0xff} }, { .description = "tid.en", @@ -51447,8 +64293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3188 >> 8) & 0xff, - 3188 & 0xff, + (4267 >> 8) & 0xff, + 4267 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51456,8 +64302,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (534 >> 8) & 0xff, - 534 & 0xff} + (700 >> 8) & 0xff, + 700 & 0xff} }, { .description = "l2_smac.en", @@ -51465,8 +64311,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3195 >> 8) & 0xff, - 3195 & 0xff, + (4274 >> 8) & 0xff, + 4274 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51474,8 +64320,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (535 >> 8) & 0xff, - 535 & 0xff} + (701 >> 8) & 0xff, + 701 & 0xff} }, { .description = "l2_dt.en", @@ -51513,8 +64359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3202 >> 8) & 0xff, - 3202 & 0xff, + (4281 >> 8) & 0xff, + 4281 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51522,8 +64368,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (536 >> 8) & 0xff, - 536 & 0xff} + (702 >> 8) & 0xff, + 702 & 0xff} }, { .description = "l2_ovt.en", @@ -51549,8 +64395,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3211 >> 8) & 0xff, - 3211 & 0xff, + (4290 >> 8) & 0xff, + 4290 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51558,8 +64404,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (537 >> 8) & 0xff, - 537 & 0xff} + (703 >> 8) & 0xff, + 703 & 0xff} }, { .description = "l2_ivt.en", @@ -51573,8 +64419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3229 >> 8) & 0xff, - 3229 & 0xff, + (4308 >> 8) & 0xff, + 4308 & 0xff, (5 >> 8) & 0xff, 5 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51582,8 +64428,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (540 >> 8) & 0xff, - 540 & 0xff} + (706 >> 8) & 0xff, + 706 & 0xff} }, { .description = "l3_l3type.en", @@ -51597,8 +64443,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3238 >> 8) & 0xff, - 3238 & 0xff, + (4317 >> 8) & 0xff, + 4317 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51606,8 +64452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (541 >> 8) & 0xff, - 541 & 0xff} + (707 >> 8) & 0xff, + 707 & 0xff} }, { .description = "l3_sip_selcmp.en", @@ -51621,8 +64467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3252 >> 8) & 0xff, - 3252 & 0xff, + (4331 >> 8) & 0xff, + 4331 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51630,8 +64476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (544 >> 8) & 0xff, - 544 & 0xff} + (710 >> 8) & 0xff, + 710 & 0xff} }, { .description = "l3_dip_selcmp.en", @@ -51645,8 +64491,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3266 >> 8) & 0xff, - 3266 & 0xff, + (4345 >> 8) & 0xff, + 4345 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51654,8 +64500,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (547 >> 8) & 0xff, - 547 & 0xff} + (713 >> 8) & 0xff, + 713 & 0xff} }, { .description = "l3_prot.en", @@ -51663,8 +64509,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3280 >> 8) & 0xff, - 3280 & 0xff, + (4359 >> 8) & 0xff, + 4359 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51672,8 +64518,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (550 >> 8) & 0xff, - 550 & 0xff} + (716 >> 8) & 0xff, + 716 & 0xff} }, { .description = "l3_fid.en", @@ -51687,8 +64533,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3294 >> 8) & 0xff, - 3294 & 0xff, + (4373 >> 8) & 0xff, + 4373 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51696,8 +64542,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (553 >> 8) & 0xff, - 553 & 0xff} + (719 >> 8) & 0xff, + 719 & 0xff} }, { .description = "l3_ieh_nonext.en", @@ -51771,8 +64617,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3308 >> 8) & 0xff, - 3308 & 0xff, + (4387 >> 8) & 0xff, + 4387 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51780,8 +64626,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (556 >> 8) & 0xff, - 556 & 0xff} + (722 >> 8) & 0xff, + 722 & 0xff} }, { .description = "l4_dst.en", @@ -51789,8 +64635,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, .field_opr1 = { - (3322 >> 8) & 0xff, - 3322 & 0xff, + (4401 >> 8) & 0xff, + 4401 & 0xff, (4 >> 8) & 0xff, 4 & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, @@ -51798,8 +64644,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { 1}, .field_src3 = BNXT_ULP_FIELD_SRC_NEXT, .field_opr3 = { - (559 >> 8) & 0xff, - 559 & 0xff} + (725 >> 8) & 0xff, + 725 & 0xff} }, { .description = "l4_flags.en", @@ -52166,100 +65012,6 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */ - { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} - }, - { - .description = "ctxt_meta_prof", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "def_ctxt_data", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} - }, - { - .description = "ctxt_opcode", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW} - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, - BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} - }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */ - { - .description = "rid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} - }, - { - .description = "l2_cntxt_tcam_index", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "src_property_ptr", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "prof_func_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} - }, /* class_tid: 3, , table: profile_tcam.prof_func_catch_all */ { .description = "wc_key_id", @@ -52309,6 +65061,25 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, + /* class_tid: 3, , table: prof_func_cache.ing_wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, /* class_tid: 3, , table: parif_def_arec_ptr.ing_0 */ { .description = "act_rec_ptr", @@ -52686,7 +65457,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { }, { .description = "prof_func_id", - .field_bit_size = 8, + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { @@ -53178,7 +65949,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { }, { .description = "prof_func_id", - .field_bit_size = 8, + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { @@ -55130,7 +67901,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { }, { .description = "prof_func_id", - .field_bit_size = 8, + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, @@ -55584,6 +68355,282 @@ struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { .field_bit_size = 14, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + /* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */ + { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4928 >> 8) & 0xff, + 4928 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + { + .description = "ctxt_meta_prof", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "def_ctxt_data", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} + }, + { + .description = "ctxt_opcode", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW} + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4930 >> 8) & 0xff, + 4930 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "parif", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "l2_cntxt_tcam_index", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} + }, + { + .description = "l2_cntxt_id", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4932 >> 8) & 0xff, + 4932 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} + }, + { + .description = "src_property_ptr", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "prof_func_id", + .field_bit_size = 7, + .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST, + .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND, + .field_opr1 = { + (4934 >> 8) & 0xff, + 4934 & 0xff, + (2 >> 8) & 0xff, + 2 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_1 & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_RF, + .field_opr3 = { + (BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff} + }, + /* class_tid: 7, , table: jump_index_table.alloc */ + /* class_tid: 7, , table: flow_chain_cache.write */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff} + }, + /* class_tid: 7, , table: group_miss_action_cache.write */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "default_action", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} + }, + /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all */ + { + .description = "act_record_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} + }, + { + .description = "bypass_op", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "reserved", + .field_bit_size = 14, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "pl_byp_lkup_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + /* class_tid: 7, , table: jump_index_table.alloc_egr */ + /* class_tid: 7, , table: flow_chain_cache.write_egr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "metadata", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff, + BNXT_ULP_RF_IDX_JUMP_META & 0xff} + }, + /* class_tid: 7, , table: group_miss_action_cache.write_egr */ + { + .description = "rid", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, + BNXT_ULP_RF_IDX_RID & 0xff} + }, + { + .description = "default_action", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} + }, + /* class_tid: 7, , table: profile_tcam_bypass.prof_func_group_catch_all_egr */ + { + .description = "act_record_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} + }, + { + .description = "bypass_op", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} + }, + { + .description = "reserved", + .field_bit_size = 14, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + { + .description = "pl_byp_lkup_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} } }; @@ -55614,24 +68661,12 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .ident_bit_size = 16, .ident_bit_pos = 32 }, - /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ - { - .description = "l2_cntxt_id", - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, - .ident_bit_size = 10, - .ident_bit_pos = 42 - }, - { - .description = "l2_cntxt_tcam_index", - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, - .ident_bit_size = 10, - .ident_bit_pos = 32 - }, + /* class_tid: 1, , table: prof_func_cache.ing_rd */ { .description = "prof_func_id", .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, - .ident_bit_size = 8, - .ident_bit_pos = 62 + .ident_bit_size = 7, + .ident_bit_pos = 32 }, /* class_tid: 1, , table: tunnel_cache.f1_f2_rd */ { @@ -55649,6 +68684,19 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .ident_bit_size = 10, .ident_bit_pos = 29 }, + /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 10, + .ident_bit_pos = 42 + }, + { + .description = "l2_cntxt_tcam_index", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, + .ident_bit_size = 10, + .ident_bit_pos = 32 + }, /* class_tid: 1, , table: multi_flow_tunnel_cache.rd */ { .description = "metadata", @@ -55751,6 +68799,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 32 }, + /* class_tid: 1, , table: group_miss_action_cache.rd */ + { + .description = "default_action", + .regfile_idx = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, /* class_tid: 1, , table: profile_tcam.allocate_wc_profile */ { .description = "wc_profile_id", @@ -55786,7 +68841,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { { .description = "prof_func_id", .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, - .ident_bit_size = 8, + .ident_bit_size = 7, .ident_bit_pos = 62 }, /* class_tid: 2, , table: multi_flow_tunnel_cache.rd */ @@ -55859,6 +68914,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 32 }, + /* class_tid: 2, , table: group_miss_action_cache.rd */ + { + .description = "default_action", + .regfile_idx = BNXT_ULP_RF_IDX_GROUP_MISS_ACT_PTR, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, /* class_tid: 2, , table: profile_tcam.allocate_wc_profile */ { .description = "wc_profile_id", @@ -55884,22 +68946,20 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .ident_bit_size = 64, .ident_bit_pos = 32 }, - /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */ + /* class_tid: 3, , table: prof_func_cache.ing_rd */ { - .description = "l2_cntxt_id", - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, - .ident_bit_size = 10, - .ident_bit_pos = 42 + .description = "prof_func_id", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 7, + .ident_bit_pos = 32 }, - /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */ { - .description = "l2_cntxt_id_low", - .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_LOW, - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, - .ident_bit_size = 10, - .ident_bit_pos = 29 + .description = "rid", + .regfile_idx = BNXT_ULP_RF_IDX_RID, + .ident_bit_size = 32, + .ident_bit_pos = 0 }, + /* class_tid: 3, , table: l2_cntxt_tcam.alloc_prof_func */ { .description = "prof_func_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -55942,7 +69002,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { { .description = "prof_func_id", .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, - .ident_bit_size = 8, + .ident_bit_size = 7, .ident_bit_pos = 62 }, /* class_tid: 4, , table: l2_cntxt_tcam.vf_egr */ @@ -55953,6 +69013,96 @@ struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, .ident_bit_size = 10, .ident_bit_pos = 29 + }, + /* class_tid: 5, , table: port_table.ing_rd */ + { + .description = "default_arec_ptr", + .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR, + .ident_bit_size = 16, + .ident_bit_pos = 137 + }, + /* class_tid: 5, , table: prof_func_cache.ing_rd */ + { + .description = "prof_func_id", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 7, + .ident_bit_pos = 32 + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 10, + .ident_bit_pos = 42 + }, + /* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1, + .ident_bit_size = 10, + .ident_bit_pos = 42 + }, + { + .description = "prof_func_id", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_1, + .ident_bit_size = 7, + .ident_bit_pos = 62 + }, + /* class_tid: 5, , table: l2_cntxt_tcam.ing_0 */ + { + .description = "l2_cntxt_id_low", + .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, + .ident_type = TF_IDENT_TYPE_L2_CTXT_LOW, + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 10, + .ident_bit_pos = 29 + }, + /* class_tid: 6, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .description = "rid", + .regfile_idx = BNXT_ULP_RF_IDX_RID, + .ident_bit_size = 32, + .ident_bit_pos = 0 + }, + /* class_tid: 7, , table: flow_chain_cache.group_check */ + { + .description = "metadata", + .regfile_idx = BNXT_ULP_RF_IDX_JUMP_META, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, + /* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 10, + .ident_bit_pos = 42 + }, + { + .description = "prof_func_id", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 7, + .ident_bit_pos = 62 + }, + /* class_tid: 7, , table: flow_chain_cache.group_check_egr */ + { + .description = "metadata", + .regfile_idx = BNXT_ULP_RF_IDX_JUMP_META, + .ident_bit_size = 16, + .ident_bit_pos = 32 + }, + /* class_tid: 7, , table: l2_cntxt_tcam_cache.ing_rd_egr */ + { + .description = "l2_cntxt_id", + .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, + .ident_bit_size = 10, + .ident_bit_pos = 42 + }, + { + .description = "prof_func_id", + .regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0, + .ident_bit_size = 7, + .ident_bit_pos = 62 } }; diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c index fff19939f8..90224bb063 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_wh_plus_class.c @@ -49,6 +49,36 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, .cond_start_idx = 48, .cond_nums = 0 } + }, + /* class_tid: 5, ingress */ + [5] = { + .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, + .num_tbls = 1, + .start_tbl_idx = 95, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 50, + .cond_nums = 0 } + }, + /* class_tid: 6, ingress */ + [6] = { + .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, + .num_tbls = 1, + .start_tbl_idx = 96, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 50, + .cond_nums = 0 } + }, + /* class_tid: 7, ingress */ + [7] = { + .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, + .num_tbls = 1, + .start_tbl_idx = 97, + .reject_info = { + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, + .cond_start_idx = 50, + .cond_nums = 0 } } }; @@ -1268,7 +1298,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .key_bit_size = 8, .key_num_fields = 1, .result_start_idx = 321, - .result_bit_size = 70, + .result_bit_size = 69, .result_num_fields = 5 }, { /* class_tid: 3, , table: parif_def_lkup_arec_ptr.ing_0 */ @@ -1452,7 +1482,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .key_bit_size = 8, .key_num_fields = 1, .result_start_idx = 368, - .result_bit_size = 70, + .result_bit_size = 69, .result_num_fields = 5 }, { /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */ @@ -1542,7 +1572,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .key_bit_size = 8, .key_num_fields = 1, .result_start_idx = 386, - .result_bit_size = 70, + .result_bit_size = 69, .result_num_fields = 5 }, { /* class_tid: 3, , table: int_full_act_record.egr_0 */ @@ -2205,6 +2235,48 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .result_start_idx = 649, .result_bit_size = 179, .result_num_fields = 8 + }, + { /* class_tid: 5, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: wh+ not supporting promiscuous template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 50, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 6, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: wh+ not supporting promiscuous template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 50, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP + }, + { /* class_tid: 7, , table: control.reject */ + .description = "control.reject", + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_RX, + .true_message = "Reject: wh+ not supporting group miss action template", + .execute_info = { + .cond_true_goto = 1023, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, + .cond_start_idx = 50, + .cond_nums = 0 }, + .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP } }; @@ -16221,7 +16293,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { }, { .description = "prof_func_id", - .field_bit_size = 8, + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, @@ -16535,7 +16607,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { }, { .description = "prof_func_id", - .field_bit_size = 8, + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, @@ -16665,7 +16737,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { }, { .description = "prof_func_id", - .field_bit_size = 8, + .field_bit_size = 7, .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, -- 2.39.3