DPDK patches and discussions
 help / color / mirror / Atom feed
From: Manish Kurup <manish.kurup@broadcom.com>
To: dev@dpdk.org
Cc: ajit.khaparde@broadcom.com
Subject: [PATCH v4 04/57] net/bnxt/tf_ulp: add bnxt app data for 25.11 - Thor2
Date: Tue, 21 Oct 2025 13:49:56 -0400	[thread overview]
Message-ID: <20251021175049.46092-5-manish.kurup@broadcom.com> (raw)
In-Reply-To: <20251021175049.46092-1-manish.kurup@broadcom.com>

This commit adds the data, defines and enums for applications
targeting the Thor2 product

Signed-off-by: Manish Kurup <manish.kurup@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 .../ulp_template_db_thor2_act.c               |  4637 +-
 .../ulp_template_db_thor2_class.c             | 42439 +++++++++-------
 2 files changed, 28256 insertions(+), 18820 deletions(-)

diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c
index faf63b7fef..b8f5b2d537 100644
--- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c
+++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_thor2_act.c
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2014-2024 Broadcom
+ * Copyright(c) 2014-2025 Broadcom
  * All rights reserved.
  */
 
@@ -13,7 +13,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_act_tmpl_list[] = {
 	/* act_tid: 1, ingress */
 	[1] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
-	.num_tbls = 25,
+	.num_tbls = 35,
 	.start_tbl_idx = 0,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
@@ -24,111 +24,111 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_act_tmpl_list[] = {
 	[2] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 1,
-	.start_tbl_idx = 25,
+	.start_tbl_idx = 35,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 23,
+		.cond_start_idx = 26,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 3, ingress */
 	[3] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 12,
-	.start_tbl_idx = 26,
+	.start_tbl_idx = 36,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 23,
+		.cond_start_idx = 26,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 4, ingress */
 	[4] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 1,
-	.start_tbl_idx = 38,
+	.start_tbl_idx = 48,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 5, ingress */
 	[5] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 1,
-	.start_tbl_idx = 39,
+	.start_tbl_idx = 49,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 6, ingress */
 	[6] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 23,
-	.start_tbl_idx = 40,
+	.start_tbl_idx = 50,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 7, egress */
 	[7] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
-	.num_tbls = 48,
-	.start_tbl_idx = 63,
+	.num_tbls = 54,
+	.start_tbl_idx = 73,
 	.reject_info = {
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 42,
-		.cond_nums = 1 }
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 45,
+		.cond_nums = 0 }
 	},
 	/* act_tid: 8, egress */
 	[8] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 1,
-	.start_tbl_idx = 111,
+	.start_tbl_idx = 127,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 9, egress */
 	[9] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 1,
-	.start_tbl_idx = 112,
+	.start_tbl_idx = 128,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 10, egress */
 	[10] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 1,
-	.start_tbl_idx = 113,
+	.start_tbl_idx = 129,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 11, egress */
 	[11] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 1,
-	.start_tbl_idx = 114,
+	.start_tbl_idx = 130,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 }
 	},
 	/* act_tid: 12, egress */
 	[12] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
-	.num_tbls = 6,
-	.start_tbl_idx = 115,
+	.num_tbls = 14,
+	.start_tbl_idx = 131,
 	.reject_info = {
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 91,
-		.cond_nums = 4 }
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 99,
+		.cond_nums = 0 }
 	}
 };
 
@@ -491,7 +491,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 3,
+		.cond_false_goto = 13,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
 		.cond_start_idx = 12,
 		.cond_nums = 1 },
@@ -542,6 +542,214 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.result_bit_size = 64,
 	.result_num_fields = 1
 	},
+	{ /* act_tid: 1, , table: source_property_cache.rd_smac */
+	.description = "source_property_cache.rd_smac",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 10,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 13,
+		.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 = 6,
+	.blob_key_bit_size = 85,
+	.key_bit_size = 85,
+	.key_num_fields = 3,
+	.ident_start_idx = 6,
+	.ident_nums = 1
+	},
+	{ /* act_tid: 1, , table: control.check_smac */
+	.description = "control.check_smac",
+	.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 = 14,
+		.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
+	},
+	{ /* act_tid: 1, , table: sp_smac_ipv4.0 */
+	.description = "sp_smac_ipv4.0",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
+	.resource_type = CFA_RSUBTYPE_CMM_ACT,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+	.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 = 15,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL,
+	.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 = 71,
+	.result_bit_size = 0,
+	.result_num_fields = 0,
+	.encap_num_fields = 3
+	},
+	{ /* act_tid: 1, , table: control.srp_v4_handle_to_offset */
+	.description = "control.srp_v4_handle_to_offset",
+	.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 = 15,
+		.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_HANDLE_TO_OFFSET,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_CMM_SRP_HNDL,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 8,
+		.func_dst_opr = BNXT_ULP_RF_IDX_MAIN_SP_PTR }
+	},
+	{ /* act_tid: 1, , table: source_property_cache.wr_smac */
+	.description = "source_property_cache.wr_smac",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_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 = 15,
+		.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 = 9,
+	.blob_key_bit_size = 85,
+	.key_bit_size = 85,
+	.key_num_fields = 3,
+	.result_start_idx = 74,
+	.result_bit_size = 64,
+	.result_num_fields = 2
+	},
+	{ /* act_tid: 1, , table: l2_encap_rec_cache.rd */
+	.description = "l2_encap_rec_cache.rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_ENCAP_REC_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 = 15,
+		.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 = 12,
+	.blob_key_bit_size = 117,
+	.key_bit_size = 117,
+	.key_num_fields = 6,
+	.ident_start_idx = 7,
+	.ident_nums = 1
+	},
+	{ /* act_tid: 1, , table: control.check_l2_encap */
+	.description = "control.check_l2_encap",
+	.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 = 15,
+		.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
+	},
+	{ /* act_tid: 1, , table: int_srv6_l2_encap_record.untagged_l2 */
+	.description = "int_srv6_l2_encap_record.untagged_l2",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
+	.resource_type = CFA_RSUBTYPE_CMM_ACT,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+	.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 = 16,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
+	.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 = 76,
+	.result_bit_size = 0,
+	.result_num_fields = 0,
+	.encap_num_fields = 16
+	},
+	{ /* act_tid: 1, , table: control.enc_handle_to_offset */
+	.description = "control.enc_handle_to_offset",
+	.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 = 16,
+		.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_HANDLE_TO_OFFSET,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 8,
+		.func_dst_opr = BNXT_ULP_RF_IDX_ENCAP_PTR_0 }
+	},
+	{ /* act_tid: 1, , table: l2_encap_rec_cache.wr */
+	.description = "l2_encap_rec_cache.wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_ENCAP_REC_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 = 16,
+		.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 = 18,
+	.blob_key_bit_size = 117,
+	.key_bit_size = 117,
+	.key_num_fields = 6,
+	.result_start_idx = 92,
+	.result_bit_size = 48,
+	.result_num_fields = 2
+	},
 	{ /* act_tid: 1, , table: control.queue_and_rss_test */
 	.description = "control.queue_and_rss_test",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
@@ -551,7 +759,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 13,
+		.cond_start_idx = 16,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -566,13 +774,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 2,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 15,
+		.cond_start_idx = 18,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_VNIC_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_RSS_VNIC,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 71,
+	.result_start_idx = 94,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -586,13 +794,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 16,
+		.cond_start_idx = 19,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_VNIC_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_RSS_VNIC,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 71,
+	.result_start_idx = 94,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -607,14 +815,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 17,
+		.cond_start_idx = 20,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 71,
+	.result_start_idx = 94,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -626,7 +834,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 23,
+		.cond_start_idx = 26,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -647,7 +855,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 23,
+		.cond_start_idx = 26,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -660,7 +868,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 23,
+		.cond_start_idx = 26,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -676,18 +884,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 24,
+		.cond_start_idx = 27,
 		.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 = 6,
+	.key_start_idx = 24,
 	.blob_key_bit_size = 5,
 	.key_bit_size = 5,
 	.key_num_fields = 1,
-	.ident_start_idx = 6,
+	.ident_start_idx = 8,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 3, , table: control.mirror_del_exist_chk */
@@ -698,7 +906,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 24,
+		.cond_start_idx = 27,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -711,7 +919,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 25,
+		.cond_start_idx = 28,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -732,7 +940,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 26,
+		.cond_start_idx = 29,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -749,7 +957,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 26,
+		.cond_start_idx = 29,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
@@ -758,7 +966,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 89,
+	.result_start_idx = 112,
 	.result_bit_size = 128,
 	.result_num_fields = 12
 	},
@@ -773,7 +981,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 26,
+		.cond_start_idx = 29,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL,
@@ -781,7 +989,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 101,
+	.result_start_idx = 124,
 	.result_bit_size = 128,
 	.result_num_fields = 2
 	},
@@ -793,7 +1001,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -816,7 +1024,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
@@ -824,7 +1032,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 103,
+	.result_start_idx = 126,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -836,7 +1044,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -859,7 +1067,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
@@ -867,7 +1075,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_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 = 121,
+	.result_start_idx = 144,
 	.result_bit_size = 128,
 	.result_num_fields = 12
 	},
@@ -882,7 +1090,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
@@ -890,11 +1098,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_INC,
-	.key_start_idx = 7,
+	.key_start_idx = 25,
 	.blob_key_bit_size = 5,
 	.key_bit_size = 5,
 	.key_num_fields = 1,
-	.result_start_idx = 133,
+	.result_start_idx = 156,
 	.result_bit_size = 37,
 	.result_num_fields = 2
 	},
@@ -907,7 +1115,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -921,7 +1129,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -934,7 +1142,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 14,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 27,
+		.cond_start_idx = 30,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -949,18 +1157,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 3,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 29,
+		.cond_start_idx = 32,
 		.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_NOP,
 	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
-	.key_start_idx = 8,
+	.key_start_idx = 26,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 7,
+	.ident_start_idx = 9,
 	.ident_nums = 0
 	},
 	{ /* act_tid: 6, , table: control.shared_meter_profile_0 */
@@ -971,7 +1179,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 30,
+		.cond_start_idx = 33,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -988,18 +1196,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 31,
+		.cond_start_idx = 34,
 		.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_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.key_start_idx = 9,
+	.key_start_idx = 27,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.result_start_idx = 135,
+	.result_start_idx = 158,
 	.result_bit_size = 97,
 	.result_num_fields = 12
 	},
@@ -1013,18 +1221,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 31,
+		.cond_start_idx = 34,
 		.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_NOP,
 	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
-	.key_start_idx = 10,
+	.key_start_idx = 28,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 7,
+	.ident_start_idx = 9,
 	.ident_nums = 0
 	},
 	{ /* act_tid: 6, , table: control.meter_created_chk */
@@ -1035,7 +1243,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 32,
+		.cond_start_idx = 35,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1051,18 +1259,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 33,
+		.cond_start_idx = 36,
 		.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_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.key_start_idx = 11,
+	.key_start_idx = 29,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 7,
+	.ident_start_idx = 9,
 	.ident_nums = 11
 	},
 	{ /* act_tid: 6, , table: control.shared_meter_profile_chk */
@@ -1073,7 +1281,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 33,
+		.cond_start_idx = 36,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1089,7 +1297,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 37,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_0,
@@ -1097,7 +1305,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_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 = 147,
+	.result_start_idx = 170,
 	.result_bit_size = 128,
 	.result_num_fields = 18
 	},
@@ -1112,7 +1320,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 37,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_MTR,
@@ -1120,7 +1328,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 165,
+	.result_start_idx = 188,
 	.result_bit_size = 128,
 	.result_num_fields = 2
 	},
@@ -1132,7 +1340,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 37,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1154,18 +1362,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 37,
 		.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_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.key_start_idx = 12,
+	.key_start_idx = 30,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.result_start_idx = 167,
+	.result_start_idx = 190,
 	.result_bit_size = 138,
 	.result_num_fields = 5
 	},
@@ -1179,18 +1387,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 37,
 		.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,
 	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
-	.key_start_idx = 13,
+	.key_start_idx = 31,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 18,
+	.ident_start_idx = 20,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 6, , table: control.mtr_id_to_stats_handle2 */
@@ -1201,7 +1409,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 34,
+		.cond_start_idx = 37,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1221,7 +1429,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 34,
+		.cond_start_idx = 37,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1236,18 +1444,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 2,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 35,
+		.cond_start_idx = 38,
 		.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_NOP,
 	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
-	.key_start_idx = 14,
+	.key_start_idx = 32,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 19,
+	.ident_start_idx = 21,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 6, , table: control.mtr_prof_ref_cnt_chk */
@@ -1258,7 +1466,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 36,
+		.cond_start_idx = 39,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -1281,18 +1489,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 37,
+		.cond_start_idx = 40,
 		.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_NOP,
 	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
-	.key_start_idx = 15,
+	.key_start_idx = 33,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 20,
+	.ident_start_idx = 22,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 6, , table: control.shared_mtr_ref_cnt_chk */
@@ -1303,7 +1511,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 38,
+		.cond_start_idx = 41,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -1324,7 +1532,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 39,
+		.cond_start_idx = 42,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1339,18 +1547,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 39,
+		.cond_start_idx = 42,
 		.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_NOP,
 	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
-	.key_start_idx = 16,
+	.key_start_idx = 34,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 21,
+	.ident_start_idx = 23,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 6, , table: meter_tbl.update_rd */
@@ -1364,14 +1572,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 40,
+		.cond_start_idx = 43,
 		.cond_nums = 2 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_RD_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_0,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.ident_start_idx = 22,
+	.ident_start_idx = 24,
 	.ident_nums = 13,
 	.result_bit_size = 128
 	},
@@ -1386,14 +1594,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 42,
+		.cond_start_idx = 45,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_METER_PTR_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 = 172,
+	.result_start_idx = 195,
 	.result_bit_size = 128,
 	.result_num_fields = 18
 	},
@@ -1407,17 +1615,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 43,
+		.cond_start_idx = 45,
 		.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 = 17,
+	.key_start_idx = 35,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 35,
+	.ident_start_idx = 37,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 7, , table: control.flow_chain */
@@ -1428,7 +1636,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 44,
+		.cond_start_idx = 46,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1444,14 +1652,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 45,
+		.cond_start_idx = 47,
 		.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 = 190,
+	.result_start_idx = 213,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1463,7 +1671,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 45,
+		.cond_start_idx = 47,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1486,17 +1694,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 45,
+		.cond_start_idx = 47,
 		.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 = 18,
+	.key_start_idx = 36,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.result_start_idx = 190,
+	.result_start_idx = 213,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -1511,14 +1719,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 3,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 45,
+		.cond_start_idx = 47,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 192,
+	.result_start_idx = 215,
 	.result_bit_size = 128,
 	.result_num_fields = 2
 	},
@@ -1530,7 +1738,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 46,
+		.cond_start_idx = 48,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1550,13 +1758,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 46,
+		.cond_start_idx = 48,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_STATS_CACHE_TBL_OPC_ALLOC_WR,
 	.tbl_operand = BNXT_ULP_CF_IDX_FID,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 194,
+	.result_start_idx = 217,
 	.result_bit_size = 64,
 	.result_num_fields = 1
 	},
@@ -1571,17 +1779,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 2,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 46,
+		.cond_start_idx = 48,
 		.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 = 19,
+	.key_start_idx = 37,
 	.blob_key_bit_size = 5,
 	.key_bit_size = 5,
 	.key_num_fields = 1,
-	.ident_start_idx = 36,
+	.ident_start_idx = 38,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 7, , table: control.mirror */
@@ -1593,7 +1801,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 47,
+		.cond_start_idx = 49,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1606,7 +1814,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 48,
+		.cond_start_idx = 50,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1636,7 +1844,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 49,
+		.cond_start_idx = 51,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1659,13 +1867,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 2,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 50,
+		.cond_start_idx = 52,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 195,
+	.result_start_idx = 218,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 36
@@ -1681,13 +1889,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 61,
+		.cond_start_idx = 63,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 231,
+	.result_start_idx = 254,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 28
@@ -1700,7 +1908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 72,
+		.cond_start_idx = 74,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1718,10 +1926,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.direction = TF_DIR_TX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 29,
+		.cond_false_goto = 35,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 72,
-		.cond_nums = 2 },
+		.cond_start_idx = 74,
+		.cond_nums = 3 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
 	},
@@ -1734,7 +1942,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 74,
+		.cond_start_idx = 77,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1749,17 +1957,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 75,
+		.cond_start_idx = 78,
 		.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 = 20,
+	.key_start_idx = 38,
 	.blob_key_bit_size = 85,
 	.key_bit_size = 85,
 	.key_num_fields = 3,
-	.ident_start_idx = 37,
+	.ident_start_idx = 39,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 7, , table: control.sp_rec_v4 */
@@ -1768,9 +1976,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.direction = TF_DIR_TX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 9,
+		.cond_false_goto = 15,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 76,
+		.cond_start_idx = 79,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1787,14 +1995,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 77,
+		.cond_start_idx = 80,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL,
 	.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 = 259,
+	.result_start_idx = 282,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 3
@@ -1807,7 +2015,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 77,
+		.cond_start_idx = 80,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1826,20 +2034,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE,
 	.direction = TF_DIR_TX,
 	.execute_info = {
-		.cond_true_goto  = 6,
+		.cond_true_goto  = 12,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 77,
+		.cond_start_idx = 80,
 		.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 = 23,
+	.key_start_idx = 41,
 	.blob_key_bit_size = 85,
 	.key_bit_size = 85,
 	.key_num_fields = 3,
-	.result_start_idx = 262,
+	.result_start_idx = 285,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -1851,19 +2059,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.direction = TF_DIR_TX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 5,
+		.cond_false_goto = 11,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 77,
+		.cond_start_idx = 80,
 		.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 = 26,
+	.key_start_idx = 44,
 	.blob_key_bit_size = 181,
 	.key_bit_size = 181,
 	.key_num_fields = 3,
-	.ident_start_idx = 38,
+	.ident_start_idx = 40,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 7, , table: control.sp_rec_v6 */
@@ -1874,7 +2082,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 78,
+		.cond_start_idx = 81,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1891,14 +2099,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 79,
+		.cond_start_idx = 82,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL,
 	.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 = 264,
+	.result_start_idx = 287,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 3
@@ -1911,7 +2119,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 79,
+		.cond_start_idx = 82,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1933,20 +2141,137 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 79,
+		.cond_start_idx = 82,
 		.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 = 29,
+	.key_start_idx = 47,
 	.blob_key_bit_size = 181,
 	.key_bit_size = 181,
 	.key_num_fields = 3,
-	.result_start_idx = 267,
+	.result_start_idx = 290,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
+	{ /* act_tid: 7, , table: control.srv6_encap_check */
+	.description = "control.srv6_encap_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 6,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 82,
+		.cond_nums = 2 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* act_tid: 7, , table: srv6_encap_rec_cache.rd */
+	.description = "srv6_encap_rec_cache.rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SRV6_ENCAP_REC_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 = 84,
+		.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 = 50,
+	.blob_key_bit_size = 693,
+	.key_bit_size = 693,
+	.key_num_fields = 7,
+	.ident_start_idx = 41,
+	.ident_nums = 1
+	},
+	{ /* act_tid: 7, , table: control.encap_srv6_check */
+	.description = "control.encap_srv6_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 23,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 84,
+		.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
+	},
+	{ /* act_tid: 7, , table: ext_srv6_l2_encap_record.srv6_encap */
+	.description = "ext_srv6_l2_encap_record.srv6_encap",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
+	.resource_type = CFA_RSUBTYPE_CMM_ACT,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+	.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 = 85,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
+	.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 = 292,
+	.result_bit_size = 0,
+	.result_num_fields = 0,
+	.encap_num_fields = 38
+	},
+	{ /* act_tid: 7, , table: control.srv6_enc_hndl2offset */
+	.description = "control.srv6_enc_hndl2offset",
+	.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 = 86,
+		.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_HANDLE_TO_OFFSET,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 8,
+		.func_dst_opr = BNXT_ULP_RF_IDX_ENCAP_PTR_0 }
+	},
+	{ /* act_tid: 7, , table: srv6_encap_rec_cache.wr */
+	.description = "srv6_encap_rec_cache.wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SRV6_ENCAP_REC_CACHE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 20,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 86,
+		.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 = 57,
+	.blob_key_bit_size = 693,
+	.key_bit_size = 693,
+	.key_num_fields = 7,
+	.result_start_idx = 330,
+	.result_bit_size = 48,
+	.result_num_fields = 2
+	},
 	{ /* act_tid: 7, , table: control.do_vxlan_check */
 	.description = "control.do_vxlan_check",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
@@ -1955,7 +2280,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 11,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 79,
+		.cond_start_idx = 86,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1970,17 +2295,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 80,
+		.cond_start_idx = 87,
 		.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 = 32,
+	.key_start_idx = 64,
 	.blob_key_bit_size = 141,
 	.key_bit_size = 141,
 	.key_num_fields = 6,
-	.ident_start_idx = 39,
+	.ident_start_idx = 42,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 7, , table: control.vxlan_v4_encap */
@@ -1991,7 +2316,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 17,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 81,
+		.cond_start_idx = 88,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2008,14 +2333,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 82,
+		.cond_start_idx = 89,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
 	.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 = 269,
+	.result_start_idx = 332,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 25
@@ -2028,7 +2353,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 82,
+		.cond_start_idx = 89,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2050,17 +2375,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 14,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 82,
+		.cond_start_idx = 89,
 		.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 = 38,
+	.key_start_idx = 70,
 	.blob_key_bit_size = 141,
 	.key_bit_size = 141,
 	.key_num_fields = 6,
-	.result_start_idx = 294,
+	.result_start_idx = 357,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -2074,17 +2399,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 82,
+		.cond_start_idx = 89,
 		.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 = 44,
+	.key_start_idx = 76,
 	.blob_key_bit_size = 237,
 	.key_bit_size = 237,
 	.key_num_fields = 6,
-	.ident_start_idx = 40,
+	.ident_start_idx = 43,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 7, , table: control.vxlan_v6_encap */
@@ -2095,7 +2420,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 12,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 83,
+		.cond_start_idx = 90,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2112,14 +2437,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 84,
+		.cond_start_idx = 91,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
 	.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 = 296,
+	.result_start_idx = 359,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 23
@@ -2132,7 +2457,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 84,
+		.cond_start_idx = 91,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2154,17 +2479,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 9,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 84,
+		.cond_start_idx = 91,
 		.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 = 82,
 	.blob_key_bit_size = 237,
 	.key_bit_size = 237,
 	.key_num_fields = 6,
-	.result_start_idx = 319,
+	.result_start_idx = 382,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -2178,17 +2503,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 84,
+		.cond_start_idx = 91,
 		.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 = 56,
+	.key_start_idx = 88,
 	.blob_key_bit_size = 493,
 	.key_bit_size = 493,
 	.key_num_fields = 15,
-	.ident_start_idx = 41,
+	.ident_start_idx = 44,
 	.ident_nums = 1
 	},
 	{ /* act_tid: 7, , table: control.geneve_encap */
@@ -2199,7 +2524,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 7,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 85,
+		.cond_start_idx = 92,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2216,14 +2541,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 2,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 86,
+		.cond_start_idx = 93,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
 	.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 = 321,
+	.result_start_idx = 384,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 31
@@ -2239,14 +2564,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 87,
+		.cond_start_idx = 94,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
 	.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 = 352,
+	.result_start_idx = 415,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 29
@@ -2259,7 +2584,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 88,
+		.cond_start_idx = 95,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2281,17 +2606,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 3,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 88,
+		.cond_start_idx = 95,
 		.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 = 71,
+	.key_start_idx = 103,
 	.blob_key_bit_size = 493,
 	.key_bit_size = 493,
 	.key_num_fields = 15,
-	.result_start_idx = 381,
+	.result_start_idx = 444,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -2306,13 +2631,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 88,
+		.cond_start_idx = 95,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ENC_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.result_start_idx = 383,
+	.result_start_idx = 446,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 11
@@ -2325,7 +2650,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 89,
+		.cond_start_idx = 96,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2348,14 +2673,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 89,
+		.cond_start_idx = 96,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 394,
+	.result_start_idx = 457,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -2367,7 +2692,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2388,7 +2713,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2402,7 +2727,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2416,7 +2741,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2430,28 +2755,139 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 91,
+		.cond_start_idx = 99,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
 	},
-	{ /* act_tid: 12, , table: mod_record.meta */
-	.description = "mod_record.meta",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
-	.resource_type = CFA_RSUBTYPE_CMM_ACT,
+	{ /* act_tid: 12, , table: control.delete_chk */
+	.description = "control.delete_chk",
+	.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 = 99,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* act_tid: 12, , table: shared_mirror_record.del_chk */
+	.description = "shared_mirror_record.del_chk",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR,
 	.resource_sub_type =
-		BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
 	.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 = 95,
+		.cond_start_idx = 100,
+		.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 = 118,
+	.blob_key_bit_size = 5,
+	.key_bit_size = 5,
+	.key_num_fields = 1,
+	.ident_start_idx = 45,
+	.ident_nums = 1
+	},
+	{ /* act_tid: 12, , table: control.mirror_del_exist_chk */
+	.description = "control.mirror_del_exist_chk",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 0,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 100,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* act_tid: 12, , table: control.mirror_ref_cnt_chk */
+	.description = "control.mirror_ref_cnt_chk",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_TX,
+	.execute_info = {
+		.cond_true_goto  = 0,
+		.cond_false_goto = 1023,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 101,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.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 }
+	},
+	{ /* act_tid: 12, , table: control.create */
+	.description = "control.create",
+	.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 = 102,
+		.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
+	},
+	{ /* act_tid: 12, , table: mirror_tbl.alloc */
+	.description = "mirror_tbl.alloc",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+	.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 = 102,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_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,
+	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.result_start_idx = 475,
+	.result_bit_size = 128,
+	.result_num_fields = 12
+	},
+	{ /* act_tid: 12, , table: mod_record.meta */
+	.description = "mod_record.meta",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
+	.resource_type = CFA_RSUBTYPE_CMM_ACT,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+	.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 = 102,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
 	.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,
 	.func_info = {
 		.func_opc = BNXT_ULP_FUNC_OPC_BIT_OR,
 		.func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
@@ -2459,7 +2895,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
 		.func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL,
 		.func_dst_opr = BNXT_ULP_RF_IDX_RF_0 },
-	.result_start_idx = 412,
+	.result_start_idx = 487,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 20
@@ -2472,7 +2908,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_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 = 102,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2495,14 +2931,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 2,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 95,
+		.cond_start_idx = 102,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL,
 	.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,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 432,
+	.result_start_idx = 507,
 	.result_bit_size = 128,
 	.result_num_fields = 2
 	},
@@ -2514,7 +2951,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 96,
+		.cond_start_idx = 103,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2537,14 +2974,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 96,
+		.cond_start_idx = 103,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
 	.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,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 434,
+	.result_start_idx = 509,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -2553,10 +2991,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_TX,
 	.execute_info = {
-		.cond_true_goto  = 0,
-		.cond_false_goto = 0,
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 96,
+		.cond_start_idx = 103,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2567,6 +3005,56 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
 		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
 		.func_opr2 = 32,
 		.func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
+	},
+	{ /* act_tid: 12, , table: mirror_tbl.wr */
+	.description = "mirror_tbl.wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+	.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 = 103,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.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 = 527,
+	.result_bit_size = 128,
+	.result_num_fields = 12
+	},
+	{ /* act_tid: 12, , table: shared_mirror_record.wr */
+	.description = "shared_mirror_record.wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
+	.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 = 103,
+		.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_RID_REGFILE,
+	.fdb_operand = BNXT_ULP_RF_IDX_RID,
+	.ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_INC,
+	.key_start_idx = 119,
+	.blob_key_bit_size = 5,
+	.key_bit_size = 5,
+	.key_num_fields = 1,
+	.result_start_idx = 539,
+	.result_bit_size = 37,
+	.result_num_fields = 2
 	}
 };
 
@@ -2638,7 +3126,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_COUNT
 	},
-	/* cond_execute: act_tid: 1, control.queue_and_rss_test:13*/
+	/* cond_execute: act_tid: 1, source_property_cache.rd_smac:13*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_ACT_BIT_L2_ENCAP
+	},
+	/* cond_execute: act_tid: 1, control.check_smac:14*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: act_tid: 1, control.check_l2_encap:15*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: act_tid: 1, control.queue_and_rss_test:16*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_QUEUE
@@ -2647,22 +3150,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_RSS
 	},
-	/* cond_execute: act_tid: 1, vnic_interface_rss_config.0:15*/
+	/* cond_execute: act_tid: 1, vnic_interface_rss_config.0:18*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_RSS
 	},
-	/* cond_execute: act_tid: 1, vnic_interface_queue_config.0:16*/
+	/* cond_execute: act_tid: 1, vnic_interface_queue_config.0:19*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_QUEUE
 	},
-	/* field_cond: act_tid: 1, cmm_full_act_record.0:17*/
+	/* field_cond: act_tid: 1, cmm_full_act_record.0:20*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_DROP
 	},
-	/* field_cond: act_tid: 1, cmm_full_act_record.0:18*/
+	/* field_cond: act_tid: 1, cmm_full_act_record.0:21*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_RSS
@@ -2671,12 +3174,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_QUEUE
 	},
-	/* field_cond: act_tid: 1, cmm_full_act_record.0:20*/
+	/* field_cond: act_tid: 1, cmm_full_act_record.0:23*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 1, cmm_full_act_record.0:21*/
+	/* field_cond: act_tid: 1, cmm_full_act_record.0:24*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VXLAN_DECAP
@@ -2685,27 +3188,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_GENEVE_DECAP
 	},
-	/* cond_execute: act_tid: 3, control.delete_chk:23*/
+	/* cond_execute: act_tid: 3, control.delete_chk:26*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_DELETE
 	},
-	/* cond_execute: act_tid: 3, control.mirror_del_exist_chk:24*/
+	/* cond_execute: act_tid: 3, control.mirror_del_exist_chk:27*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 3, control.mirror_ref_cnt_chk:25*/
+	/* cond_execute: act_tid: 3, control.mirror_ref_cnt_chk:28*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_CC
 	},
-	/* cond_execute: act_tid: 3, cmm_stat_record.0:26*/
+	/* cond_execute: act_tid: 3, cmm_stat_record.0:29*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_COUNT
 	},
-	/* cond_execute: act_tid: 6, control.create_check:27*/
+	/* cond_execute: act_tid: 6, control.create_check:30*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_UPDATE
@@ -2714,62 +3217,62 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_DELETE
 	},
-	/* cond_execute: act_tid: 6, meter_profile_tbl_cache.rd:29*/
+	/* cond_execute: act_tid: 6, meter_profile_tbl_cache.rd:32*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE
 	},
-	/* cond_execute: act_tid: 6, control.shared_meter_profile_0:30*/
+	/* cond_execute: act_tid: 6, control.shared_meter_profile_0:33*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd:31*/
+	/* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd:34*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
 	},
-	/* cond_execute: act_tid: 6, control.meter_created_chk:32*/
+	/* cond_execute: act_tid: 6, control.meter_created_chk:35*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 6, control.shared_meter_profile_chk:33*/
+	/* cond_execute: act_tid: 6, control.shared_meter_profile_chk:36*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 6, control.delete_check:34*/
+	/* cond_execute: act_tid: 6, control.delete_check:37*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_DELETE
 	},
-	/* cond_execute: act_tid: 6, meter_profile_tbl_cache.del_chk:35*/
+	/* cond_execute: act_tid: 6, meter_profile_tbl_cache.del_chk:38*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE
 	},
-	/* cond_execute: act_tid: 6, control.mtr_prof_ref_cnt_chk:36*/
+	/* cond_execute: act_tid: 6, control.mtr_prof_ref_cnt_chk:39*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_CC
 	},
-	/* cond_execute: act_tid: 6, shared_meter_tbl_cache.del_chk:37*/
+	/* cond_execute: act_tid: 6, shared_meter_tbl_cache.del_chk:40*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
 	},
-	/* cond_execute: act_tid: 6, control.shared_mtr_ref_cnt_chk:38*/
+	/* cond_execute: act_tid: 6, control.shared_mtr_ref_cnt_chk:41*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_CC
 	},
-	/* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd_update:39*/
+	/* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd_update:42*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
 	},
-	/* cond_execute: act_tid: 6, meter_tbl.update_rd:40*/
+	/* cond_execute: act_tid: 6, meter_tbl.update_rd:43*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
@@ -2778,52 +3281,47 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_PROP_NOT_SET,
 	.cond_operand = BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID_UPDATE
 	},
-	/* cond_reject: thor2, act_tid: 7 */
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
-	},
-	/* cond_execute: act_tid: 7, flow_chain_cache.rd:43*/
+	/* cond_execute: act_tid: 7, flow_chain_cache.rd:45*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* cond_execute: act_tid: 7, control.flow_chain:44*/
+	/* cond_execute: act_tid: 7, control.flow_chain:46*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 7, cmm_stat_record.0:45*/
+	/* cond_execute: act_tid: 7, cmm_stat_record.0:47*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_COUNT
 	},
-	/* cond_execute: act_tid: 7, shared_mirror_record.rd:46*/
+	/* cond_execute: act_tid: 7, shared_mirror_record.rd:48*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
 	},
-	/* cond_execute: act_tid: 7, control.mirror:47*/
+	/* cond_execute: act_tid: 7, control.mirror:49*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 7, control.do_mod:48*/
+	/* cond_execute: act_tid: 7, control.do_mod:50*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_RF_0
 	},
-	/* cond_execute: act_tid: 7, control.vf_to_vf_calc:49*/
+	/* cond_execute: act_tid: 7, control.vf_to_vf_calc:51*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
 	},
-	/* cond_execute: act_tid: 7, mod_record.ttl_0:50*/
+	/* cond_execute: act_tid: 7, mod_record.ttl_0:52*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
 	},
-	/* field_cond: act_tid: 7, mod_record.ttl_0:51*/
+	/* field_cond: act_tid: 7, mod_record.ttl_0:53*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
@@ -2832,7 +3330,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, mod_record.ttl_0:53*/
+	/* field_cond: act_tid: 7, mod_record.ttl_0:55*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
@@ -2841,7 +3339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, mod_record.ttl_0:55*/
+	/* field_cond: act_tid: 7, mod_record.ttl_0:57*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
@@ -2850,7 +3348,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, mod_record.ttl_0:57*/
+	/* field_cond: act_tid: 7, mod_record.ttl_0:59*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
@@ -2859,22 +3357,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, mod_record.ttl_0:59*/
+	/* field_cond: act_tid: 7, mod_record.ttl_0:61*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
 	},
-	/* field_cond: act_tid: 7, mod_record.ttl_0:60*/
+	/* field_cond: act_tid: 7, mod_record.ttl_0:62*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* cond_execute: act_tid: 7, mod_record.non_ttl_0:61*/
+	/* cond_execute: act_tid: 7, mod_record.non_ttl_0:63*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
 	},
-	/* field_cond: act_tid: 7, mod_record.non_ttl_0:62*/
+	/* field_cond: act_tid: 7, mod_record.non_ttl_0:64*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
@@ -2883,7 +3381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, mod_record.non_ttl_0:64*/
+	/* field_cond: act_tid: 7, mod_record.non_ttl_0:66*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
@@ -2892,7 +3390,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, mod_record.non_ttl_0:66*/
+	/* field_cond: act_tid: 7, mod_record.non_ttl_0:68*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
@@ -2901,7 +3399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, mod_record.non_ttl_0:68*/
+	/* field_cond: act_tid: 7, mod_record.non_ttl_0:70*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
@@ -2910,17 +3408,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, mod_record.non_ttl_0:70*/
+	/* field_cond: act_tid: 7, mod_record.non_ttl_0:72*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
 	},
-	/* field_cond: act_tid: 7, mod_record.non_ttl_0:71*/
+	/* field_cond: act_tid: 7, mod_record.non_ttl_0:73*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* cond_execute: act_tid: 7, control.do_tunnel_check:72*/
+	/* cond_execute: act_tid: 7, control.do_tunnel_check:74*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP
@@ -2929,109 +3427,135 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_GENEVE_ENCAP
 	},
-	/* cond_execute: act_tid: 7, control.do_tunnel_vlan_exclusion:74*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_ACT_BIT_IP_ENCAP
+	},
+	/* cond_execute: act_tid: 7, control.do_tunnel_vlan_exclusion:77*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
 	},
-	/* cond_execute: act_tid: 7, source_property_cache.rd:75*/
+	/* cond_execute: act_tid: 7, source_property_cache.rd:78*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
 	},
-	/* cond_execute: act_tid: 7, control.sp_rec_v4:76*/
+	/* cond_execute: act_tid: 7, control.sp_rec_v4:79*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 7, source_property_ipv6_cache.rd:77*/
+	/* cond_execute: act_tid: 7, source_property_ipv6_cache.rd:80*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG
 	},
-	/* cond_execute: act_tid: 7, control.sp_rec_v6:78*/
+	/* cond_execute: act_tid: 7, control.sp_rec_v6:81*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: act_tid: 7, control.srv6_encap_check:82*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_ACT_BIT_IP_ENCAP
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* cond_execute: act_tid: 7, control.encap_srv6_check:84*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 7, control.do_vxlan_check:79*/
+	/* cond_execute: act_tid: 7, ext_srv6_l2_encap_record.srv6_encap:85*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* cond_execute: act_tid: 7, control.do_vxlan_check:86*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP
 	},
-	/* cond_execute: act_tid: 7, vxlan_encap_rec_cache.rd:80*/
+	/* cond_execute: act_tid: 7, vxlan_encap_rec_cache.rd:87*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* cond_execute: act_tid: 7, control.vxlan_v4_encap:81*/
+	/* cond_execute: act_tid: 7, control.vxlan_v4_encap:88*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 7, vxlan_encap_ipv6_rec_cache.rd:82*/
+	/* cond_execute: act_tid: 7, vxlan_encap_ipv6_rec_cache.rd:89*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* cond_execute: act_tid: 7, control.vxlan_v6_encap:83*/
+	/* cond_execute: act_tid: 7, control.vxlan_v6_encap:90*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 7, geneve_encap_rec_cache.rd:84*/
+	/* cond_execute: act_tid: 7, geneve_encap_rec_cache.rd:91*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
 	},
-	/* cond_execute: act_tid: 7, control.geneve_encap:85*/
+	/* cond_execute: act_tid: 7, control.geneve_encap:92*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv4_vxlan:86*/
+	/* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv4_vxlan:93*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
 	},
-	/* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv6_geneve:87*/
+	/* cond_execute: act_tid: 7, ext_tun_geneve_encap_record.ipv6_geneve:94*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
 	},
-	/* cond_execute: act_tid: 7, ext_vtag_encap_record.0:88*/
+	/* cond_execute: act_tid: 7, ext_vtag_encap_record.0:95*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
 	},
-	/* field_cond: act_tid: 7, cmm_full_act_record.0:89*/
+	/* field_cond: act_tid: 7, cmm_full_act_record.0:96*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_JUMP
 	},
-	/* field_cond: act_tid: 7, cmm_full_act_record.0:90*/
+	/* field_cond: act_tid: 7, cmm_full_act_record.0:97*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
 	},
-	/* cond_reject: thor2, act_tid: 12 */
+	/* field_cond: act_tid: 7, cmm_full_act_record.0:98*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_ACT_BIT_SHARED
+	.cond_operand = BNXT_ULP_ACT_BIT_L2_DECAP
 	},
+	/* cond_execute: act_tid: 12, control.delete_chk:99*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_ACT_BIT_SAMPLE
+	.cond_operand = BNXT_ULP_ACT_BIT_DELETE
 	},
+	/* cond_execute: act_tid: 12, control.mirror_del_exist_chk:100*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_ACT_BIT_DELETE
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
+	/* cond_execute: act_tid: 12, control.mirror_ref_cnt_chk:101*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
 	},
-	/* cond_execute: act_tid: 12, cmm_stat_record.0:95*/
+	/* cond_execute: act_tid: 12, cmm_stat_record.0:102*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_ACT_BIT_COUNT
@@ -3168,96 +3692,99 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 		BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
 		}
 	},
-	/* act_tid: 3, , table: shared_mirror_record.del_chk */
+	/* act_tid: 1, , table: source_property_cache.rd_smac */
 	{
 	.field_info_mask = {
-		.description = "shared_index",
-		.field_bit_size = 5,
+		.description = "smac",
+		.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 = "shared_index",
-		.field_bit_size = 5,
+		.description = "smac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
 		}
 	},
-	/* act_tid: 3, , table: shared_mirror_record.wr */
 	{
 	.field_info_mask = {
-		.description = "shared_index",
-		.field_bit_size = 5,
+		.description = "ipv4_src_addr",
+		.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 = "shared_index",
-		.field_bit_size = 5,
+		.description = "ipv4_src_addr",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
-		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* act_tid: 6, , table: meter_profile_tbl_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_profile_id",
-		.field_bit_size = 32,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "sw_meter_profile_id",
-		.field_bit_size = 32,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
-	/* act_tid: 6, , table: meter_profile_tbl_cache.wr */
+	/* act_tid: 1, , table: source_property_cache.wr_smac */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_profile_id",
-		.field_bit_size = 32,
+		.description = "smac",
+		.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 = "sw_meter_profile_id",
-		.field_bit_size = 32,
+		.description = "smac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
 		}
 	},
-	/* act_tid: 6, , table: shared_meter_tbl_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_id",
+		.description = "ipv4_src_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -3268,264 +3795,214 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "sw_meter_id",
+		.description = "ipv4_src_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_profile_id",
-		.field_bit_size = 32,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "sw_meter_profile_id",
-		.field_bit_size = 32,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
-	/* act_tid: 6, , table: shared_meter_tbl_cache.wr */
+	/* act_tid: 1, , table: l2_encap_rec_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_id",
-		.field_bit_size = 32,
+		.description = "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 = "sw_meter_id",
-		.field_bit_size = 32,
+		.description = "dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
 		}
 	},
-	/* act_tid: 6, , table: shared_meter_tbl_cache.rd1 */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_id",
-		.field_bit_size = 32,
+		.description = "enc_o_vlan_tag",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "sw_meter_id",
-		.field_bit_size = 32,
+		.description = "enc_o_vlan_tag",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_profile_id",
-		.field_bit_size = 32,
+		.description = "enc_o_vlan_type",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "sw_meter_profile_id",
-		.field_bit_size = 32,
+		.description = "enc_o_vlan_type",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_id",
-		.field_bit_size = 32,
+		.description = "enc_i_vlan_tag",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "sw_meter_id",
-		.field_bit_size = 32,
+		.description = "enc_i_vlan_tag",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */
 	{
 	.field_info_mask = {
-		.description = "sw_meter_id",
-		.field_bit_size = 32,
+		.description = "enc_i_vlan_type",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "sw_meter_id",
-		.field_bit_size = 32,
+		.description = "enc_i_vlan_type",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* act_tid: 7, , table: flow_chain_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.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 = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: flow_chain_cache.write */
+	/* act_tid: 1, , table: l2_encap_rec_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "group_id",
-		.field_bit_size = 32,
+		.description = "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 = "group_id",
-		.field_bit_size = 32,
+		.description = "dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: shared_mirror_record.rd */
 	{
 	.field_info_mask = {
-		.description = "shared_index",
-		.field_bit_size = 5,
+		.description = "enc_o_vlan_tag",
+		.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 = "shared_index",
-		.field_bit_size = 5,
+		.description = "enc_o_vlan_tag",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-		.field_opr1 = {
-		(BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
-		BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* act_tid: 7, , table: source_property_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "smac",
-		.field_bit_size = 48,
+		.description = "enc_o_vlan_type",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "smac",
-		.field_bit_size = 48,
+		.description = "enc_o_vlan_type",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
-		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ipv4_src_addr",
-		.field_bit_size = 32,
+		.description = "enc_i_vlan_tag",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "ipv4_src_addr",
-		.field_bit_size = 32,
+		.description = "enc_i_vlan_tag",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
-		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "enc_i_vlan_type",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "enc_i_vlan_type",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
@@ -3549,262 +4026,234 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: source_property_cache.wr */
+	/* act_tid: 3, , table: shared_mirror_record.del_chk */
 	{
 	.field_info_mask = {
-		.description = "smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.description = "shared_index",
+		.field_bit_size = 5,
+		.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 = "smac",
-		.field_bit_size = 48,
+		.description = "shared_index",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
 		}
 	},
+	/* act_tid: 3, , table: shared_mirror_record.wr */
 	{
 	.field_info_mask = {
-		.description = "ipv4_src_addr",
-		.field_bit_size = 32,
+		.description = "shared_index",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ipv4_src_addr",
-		.field_bit_size = 32,
+		.description = "shared_index",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
+		(BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
 		}
 	},
+	/* act_tid: 6, , table: meter_profile_tbl_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "sw_meter_profile_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 = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "sw_meter_profile_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: source_property_ipv6_cache.rd */
+	/* act_tid: 6, , table: meter_profile_tbl_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "smac",
-		.field_bit_size = 48,
+		.description = "sw_meter_profile_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,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "smac",
-		.field_bit_size = 48,
+		.description = "sw_meter_profile_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
 		}
 	},
+	/* act_tid: 6, , table: shared_meter_tbl_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "ipv6_src_addr",
-		.field_bit_size = 128,
+		.description = "sw_meter_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,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
 			0xff,
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ipv6_src_addr",
-		.field_bit_size = 128,
+		.description = "sw_meter_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
 		}
 	},
+	/* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "sw_meter_profile_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 = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "sw_meter_profile_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: source_property_ipv6_cache.wr */
+	/* act_tid: 6, , table: shared_meter_tbl_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "smac",
-		.field_bit_size = 48,
+		.description = "sw_meter_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,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "smac",
-		.field_bit_size = 48,
+		.description = "sw_meter_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
 		}
 	},
+	/* act_tid: 6, , table: shared_meter_tbl_cache.rd1 */
 	{
 	.field_info_mask = {
-		.description = "ipv6_src_addr",
-		.field_bit_size = 128,
+		.description = "sw_meter_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,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
 			0xff,
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ipv6_src_addr",
-		.field_bit_size = 128,
+		.description = "sw_meter_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
 		}
 	},
+	/* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "sw_meter_profile_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 = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "sw_meter_profile_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: vxlan_encap_rec_cache.rd */
+	/* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */
 	{
 	.field_info_mask = {
-		.description = "dmac",
-		.field_bit_size = 48,
+		.description = "sw_meter_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,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "dmac",
-		.field_bit_size = 48,
+		.description = "sw_meter_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
 		}
 	},
+	/* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */
 	{
 	.field_info_mask = {
-		.description = "ipv4_dst_addr",
+		.description = "sw_meter_id",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -3815,101 +4264,85 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ipv4_dst_addr",
+		.description = "sw_meter_id",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
 		}
 	},
+	/* act_tid: 7, , table: flow_chain_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.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 = "udp_sport",
-		.field_bit_size = 16,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
 		}
 	},
+	/* act_tid: 7, , table: flow_chain_cache.write */
 	{
 	.field_info_mask = {
-		.description = "udp_dport",
-		.field_bit_size = 16,
+		.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 = "udp_dport",
-		.field_bit_size = 16,
+		.description = "group_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
 		}
 	},
+	/* act_tid: 7, , table: shared_mirror_record.rd */
 	{
 	.field_info_mask = {
-		.description = "vni",
-		.field_bit_size = 24,
+		.description = "shared_index",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "vni",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
-		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tbl_scope",
+		.description = "shared_index",
 		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		(BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: vxlan_encap_rec_cache.wr */
+	/* act_tid: 7, , table: source_property_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "dmac",
+		.description = "smac",
 		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -3922,18 +4355,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "dmac",
+		.description = "smac",
 		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ipv4_dst_addr",
+		.description = "ipv4_src_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -3944,74 +4377,81 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ipv4_dst_addr",
+		.description = "ipv4_src_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
+		(BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
+	/* act_tid: 7, , table: source_property_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "udp_dport",
-		.field_bit_size = 16,
+		.description = "smac",
+		.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 = "udp_dport",
-		.field_bit_size = 16,
+		.description = "smac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "vni",
-		.field_bit_size = 24,
+		.description = "ipv4_src_addr",
+		.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 = "vni",
-		.field_bit_size = 24,
+		.description = "ipv4_src_addr",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
+		(BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
 		}
 	},
 	{
@@ -4035,10 +4475,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */
+	/* act_tid: 7, , table: source_property_ipv6_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "dmac",
+		.description = "smac",
 		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -4051,18 +4491,18 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "dmac",
+		.description = "smac",
 		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ipv6_dst_addr",
+		.description = "ipv6_src_addr",
 		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -4085,74 +4525,93 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ipv6_dst_addr",
+		.description = "ipv6_src_addr",
 		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
+		(BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
+	/* act_tid: 7, , table: source_property_ipv6_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "udp_dport",
-		.field_bit_size = 16,
+		.description = "smac",
+		.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 = "udp_dport",
-		.field_bit_size = 16,
+		.description = "smac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "vni",
-		.field_bit_size = 24,
+		.description = "ipv6_src_addr",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "vni",
-		.field_bit_size = 24,
+		.description = "ipv6_src_addr",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
+		(BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
 		}
 	},
 	{
@@ -4160,16 +4619,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 		.description = "tbl_scope",
 		.field_bit_size = 5,
 		.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 = "tbl_scope",
 		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */
+	/* act_tid: 7, , table: srv6_encap_rec_cache.rd */
 	{
 	.field_info_mask = {
 		.description = "dmac",
@@ -4230,80 +4696,162 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.description = "seg_list0",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.description = "seg_list0",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
+		(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "udp_dport",
-		.field_bit_size = 16,
+		.description = "seg_list1",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "udp_dport",
-		.field_bit_size = 16,
+		.description = "seg_list1",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
+		(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "vni",
-		.field_bit_size = 24,
+		.description = "seg_list2",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "vni",
-		.field_bit_size = 24,
+		.description = "seg_list2",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
+		(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "seg_list3",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "seg_list3",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: geneve_encap_rec_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		}
+	},
+	/* act_tid: 7, , table: srv6_encap_rec_cache.wr */
 	{
 	.field_info_mask = {
 		.description = "dmac",
@@ -4330,40 +4878,41 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "ipv4_dst_addr",
-		.field_bit_size = 32,
+		.description = "ipv6_dst_addr",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ipv4_dst_addr",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
+		.description = "ipv6_dst_addr",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-		(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
-		.field_opr2 = {
-		(BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ipv6_dst_addr",
+		.description = "seg_list0",
 		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -4386,130 +4935,166 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ipv6_dst_addr",
+		.description = "seg_list0",
 		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
-		(uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
-		.field_opr2 = {
-		(BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.description = "seg_list1",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "udp_sport",
-		.field_bit_size = 16,
+		.description = "seg_list1",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
+		(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "udp_dport",
-		.field_bit_size = 16,
+		.description = "seg_list2",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "udp_dport",
-		.field_bit_size = 16,
+		.description = "seg_list2",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
+		(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ver_opt_len_o_c_rsvd0",
-		.field_bit_size = 16,
+		.description = "seg_list3",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "ver_opt_len_o_c_rsvd0",
-		.field_bit_size = 16,
+		.description = "seg_list3",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 & 0xff}
+		(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "proto_type",
-		.field_bit_size = 16,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "proto_type",
-		.field_bit_size = 16,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff}
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
+	/* act_tid: 7, , table: vxlan_encap_rec_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "vni",
-		.field_bit_size = 24,
+		.description = "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 = "vni",
-		.field_bit_size = 24,
+		.description = "dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w0",
+		.description = "ipv4_dst_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -4520,106 +5105,125 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w0",
+		.description = "ipv4_dst_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff}
+		(BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w1",
-		.field_bit_size = 32,
+		.description = "udp_sport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w1",
-		.field_bit_size = 32,
+		.description = "udp_sport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff}
+		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w2",
-		.field_bit_size = 32,
+		.description = "udp_dport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w2",
-		.field_bit_size = 32,
+		.description = "udp_dport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff}
+		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w3",
-		.field_bit_size = 32,
+		.description = "vni",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w3",
-		.field_bit_size = 32,
+		.description = "vni",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff}
+		(BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w4",
-		.field_bit_size = 32,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		}
+	},
+	/* act_tid: 7, , table: vxlan_encap_rec_cache.wr */
+	{
+	.field_info_mask = {
+		.description = "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 = "opt_w4",
-		.field_bit_size = 32,
+		.description = "dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w5",
+		.description = "ipv4_dst_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -4630,85 +5234,120 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w5",
+		.description = "ipv4_dst_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff}
+		(BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "udp_sport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "udp_sport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
 		}
 	},
-	/* act_tid: 7, , table: geneve_encap_rec_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "dmac",
-		.field_bit_size = 48,
+		.description = "udp_dport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff,
-			0xff,
-			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "udp_dport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vni",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "dmac",
-		.field_bit_size = 48,
+		.description = "vni",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
+		(BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ipv4_dst_addr",
-		.field_bit_size = 32,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		}
+	},
+	/* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "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 = "ipv4_dst_addr",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
+		.description = "dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
-		(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
-		.field_opr2 = {
-		(BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
 		}
 	},
 	{
@@ -4738,22 +5377,11 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 	.field_info_spec = {
 		.description = "ipv6_dst_addr",
 		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
-		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
-		(uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
-		.field_opr2 = {
 		(BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
 		}
 	},
 	{
@@ -4798,166 +5426,201 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "ver_opt_len_o_c_rsvd0",
-		.field_bit_size = 16,
+		.description = "vni",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "ver_opt_len_o_c_rsvd0",
-		.field_bit_size = 16,
+		.description = "vni",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "proto_type",
-		.field_bit_size = 16,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "proto_type",
-		.field_bit_size = 16,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "vni",
-		.field_bit_size = 24,
+		.description = "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 = "vni",
-		.field_bit_size = 24,
+		.description = "dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w0",
-		.field_bit_size = 32,
+		.description = "ipv6_dst_addr",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
 			0xff,
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w0",
-		.field_bit_size = 32,
+		.description = "ipv6_dst_addr",
+		.field_bit_size = 128,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff}
+		(BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w1",
-		.field_bit_size = 32,
+		.description = "udp_sport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w1",
-		.field_bit_size = 32,
+		.description = "udp_sport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff}
+		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w2",
-		.field_bit_size = 32,
+		.description = "udp_dport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w2",
-		.field_bit_size = 32,
+		.description = "udp_dport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff}
+		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w3",
-		.field_bit_size = 32,
+		.description = "vni",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
 			0xff,
 			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w3",
-		.field_bit_size = 32,
+		.description = "vni",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff}
+		(BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w4",
-		.field_bit_size = 32,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* act_tid: 7, , table: geneve_encap_rec_cache.rd */
+	{
+	.field_info_mask = {
+		.description = "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 = "opt_w4",
-		.field_bit_size = 32,
+		.description = "dmac",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff}
+		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "opt_w5",
+		.description = "ipv4_dst_addr",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -4968,97 +5631,764 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "opt_w5",
+		.description = "ipv4_dst_addr",
 		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
+		.field_opr1 = {
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
+		(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr2 = {
+		(BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "ipv6_dst_addr",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "ipv6_dst_addr",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
+		.field_opr1 = {
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
+		(uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr2 = {
+		(BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "udp_sport",
+		.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 = "udp_sport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 		.field_opr1 = {
-		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff,
-		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff}
+		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "udp_dport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "udp_dport",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
 		}
-	}
-};
-
-struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = {
+	},
 	{
-		.description = "vnic_or_vport",
-		.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(18 >> 8) & 0xff,
-		18 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr2 = {
-	(BNXT_ULP_RF_IDX_RSS_VNIC >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_RSS_VNIC & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(1 >> 8) & 0xff,
-	1 & 0xff}
+	.field_info_mask = {
+		.description = "ver_opt_len_o_c_rsvd0",
+		.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 = "ver_opt_len_o_c_rsvd0",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_VER_OPT_LEN_O_C_RSVD0 & 0xff}
+		}
+	},
 	{
-		.description = "vnic_or_vport",
-		.field_bit_size = 11,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(20 >> 8) & 0xff,
-		20 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	(ULP_THOR2_SYM_RECYCLE_DST >> 8) & 0xff,
-	ULP_THOR2_SYM_RECYCLE_DST & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr3 = {
-	(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
+	.field_info_mask = {
+		.description = "proto_type",
+		.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 = "proto_type",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff}
+		}
+	},
 	{
-		.description = "metadata_data",
-		.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,
-		(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_SKIP
+	.field_info_mask = {
+		.description = "vni",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff}
 		},
+	.field_info_spec = {
+		.description = "vni",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff}
+		}
+	},
 	{
-		.description = "metadata_data",
+	.field_info_mask = {
+		.description = "opt_w0",
 		.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(71 >> 8) & 0xff,
-		71 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "opt_w0",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w1",
+		.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 = "opt_w1",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w2",
+		.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 = "opt_w2",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w3",
+		.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 = "opt_w3",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w4",
+		.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 = "opt_w4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w5",
+		.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 = "opt_w5",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* act_tid: 7, , table: geneve_encap_rec_cache.wr */
+	{
+	.field_info_mask = {
+		.description = "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 = "dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "ipv4_dst_addr",
+		.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 = "ipv4_dst_addr",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
+		.field_opr1 = {
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
+		(uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr2 = {
+		(BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "ipv6_dst_addr",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "ipv6_dst_addr",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
+		.field_opr1 = {
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
+		((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
+		(uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr2 = {
+		(BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "udp_sport",
+		.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 = "udp_sport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "udp_dport",
+		.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 = "udp_dport",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "ver_opt_len_o_c_rsvd0",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "ver_opt_len_o_c_rsvd0",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "proto_type",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "proto_type",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "vni",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "vni",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_VNI >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w0",
+		.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 = "opt_w0",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w1",
+		.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 = "opt_w1",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w2",
+		.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 = "opt_w2",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w3",
+		.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 = "opt_w3",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w4",
+		.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 = "opt_w4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "opt_w5",
+		.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 = "opt_w5",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+		.field_opr1 = {
+		(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff,
+		BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* act_tid: 12, , table: shared_mirror_record.del_chk */
+	{
+	.field_info_mask = {
+		.description = "shared_index",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "shared_index",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+		.field_opr1 = {
+		(BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
+		BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
+		}
+	},
+	/* act_tid: 12, , table: shared_mirror_record.wr */
+	{
+	.field_info_mask = {
+		.description = "shared_index",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "shared_index",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_opr1 = {
+		(BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
+		}
+	}
+};
+
+struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = {
+	{
+		.description = "vnic_or_vport",
+		.field_bit_size = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(21 >> 8) & 0xff,
+		21 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr2 = {
+	(BNXT_ULP_RF_IDX_RSS_VNIC >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RSS_VNIC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(1 >> 8) & 0xff,
+	1 & 0xff}
+		},
+	{
+		.description = "vnic_or_vport",
+		.field_bit_size = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(23 >> 8) & 0xff,
+		23 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	(ULP_THOR2_SYM_RECYCLE_DST >> 8) & 0xff,
+	ULP_THOR2_SYM_RECYCLE_DST & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr3 = {
+	(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
+		},
+	{
+		.description = "metadata_data",
+		.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(62 >> 8) & 0xff,
+		62 & 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_SKIP
+		},
+	{
+		.description = "metadata_data",
+		.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(73 >> 8) & 0xff,
+		73 & 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},
@@ -5070,8 +6400,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(90 >> 8) & 0xff,
-		90 & 0xff,
+		(97 >> 8) & 0xff,
+		97 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -5372,9 +6702,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 16) & 0xff,
 	((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 8) & 0xff,
 	(uint64_t)BNXT_ULP_ACT_BIT_JUMP & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
 	.field_opr2 = {
-	ULP_THOR2_SYM_META_PROFILE_0},
+	(BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 >> 8) & 0xff,
+	BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
@@ -5875,9 +7206,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 16) & 0xff,
 	((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 8) & 0xff,
 	(uint64_t)BNXT_ULP_ACT_BIT_JUMP & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
 	.field_opr2 = {
-	ULP_THOR2_SYM_META_PROFILE_0},
+	(BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 >> 8) & 0xff,
+	BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
@@ -6088,13 +7420,179 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	},
 	/* act_tid: 1, , table: stats_cache_table.0 */
 	{
-	.description = "action_handle",
-	.field_bit_size = 64,
+	.description = "action_handle",
+	.field_bit_size = 64,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_CMM_STAT_HNDL >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_CMM_STAT_HNDL & 0xff}
+	},
+	/* act_tid: 1, , table: sp_smac_ipv4.0 */
+	{
+	.description = "smac",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+	},
+	{
+	.description = "ipv4_src_addr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "reserved",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* act_tid: 1, , table: source_property_cache.wr_smac */
+	{
+	.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 = "sp_rec_ptr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
+	},
+	/* act_tid: 1, , table: int_srv6_l2_encap_record.untagged_l2 */
+	{
+	.description = "ecv_valid",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_ECV_VALID_YES}
+	},
+	{
+	.description = "ecv_custom_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_ECV_CUSTOM_EN_YES}
+	},
+	{
+	.description = "ecv_vtag_type",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecv_l2_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_ECV_L2_EN_YES}
+	},
+	{
+	.description = "ecv_l3_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecv_l4_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecv_tun_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_ipv4_ctrl",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_smac_ovr",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_vlan_ovr",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_dmac_ovr",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_gre_set_k",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_tun_qos",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_ip_tos_ih",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_ip_ttl_ih",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "enc_eth_dmac",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
+	},
+	/* act_tid: 1, , table: l2_encap_rec_cache.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 = "enc_rec_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_CMM_STAT_HNDL >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_CMM_STAT_HNDL & 0xff}
+	(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
 	},
 	/* act_tid: 1, , table: vnic_interface_rss_config.0 */
 	/* act_tid: 1, , table: vnic_interface_queue_config.0 */
@@ -6147,8 +7645,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(17 >> 8) & 0xff,
-		17 & 0xff,
+		(20 >> 8) & 0xff,
+		20 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -6166,8 +7664,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(21 >> 8) & 0xff,
-		21 & 0xff,
+		(24 >> 8) & 0xff,
+		24 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -6275,13 +7773,19 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.description = "encap_ptr",
 	.field_bit_size = 28,
 	.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_ENCAP_PTR_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
 	},
 	{
 	.description = "src_ptr",
 	.field_bit_size = 28,
 	.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_MAIN_SP_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
 	},
 	{
 	.description = "rsvd0",
@@ -7153,8 +8657,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(51 >> 8) & 0xff,
-		51 & 0xff,
+		(53 >> 8) & 0xff,
+		53 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -7364,8 +8868,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(53 >> 8) & 0xff,
-		53 & 0xff,
+		(55 >> 8) & 0xff,
+		55 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -7377,8 +8881,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(55 >> 8) & 0xff,
-		55 & 0xff,
+		(57 >> 8) & 0xff,
+		57 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
@@ -7390,11 +8894,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(57 >> 8) & 0xff,
-		57 & 0xff,
+		(59 >> 8) & 0xff,
+		59 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+	.field_opr2 = {
+	(BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 >> 8) & 0xff,
+	BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
@@ -7403,8 +8910,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(59 >> 8) & 0xff,
-		59 & 0xff,
+		(61 >> 8) & 0xff,
+		61 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
@@ -7637,8 +9144,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(62 >> 8) & 0xff,
-		62 & 0xff,
+		(64 >> 8) & 0xff,
+		64 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -7759,14 +9266,231 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff,
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff,
 	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_sip_ipv4_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_dip_ipv4_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_sport_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_dport_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "metadata_rsvd",
+	.field_bit_size = 10,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(66 >> 8) & 0xff,
+		66 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	},
+	{
+	.description = "metadata_op",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(68 >> 8) & 0xff,
+		68 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	},
+	{
+	.description = "metadata_prof",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(70 >> 8) & 0xff,
+		70 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
+	.field_opr2 = {
+	(BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 >> 8) & 0xff,
+	BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	},
+	{
+	.description = "metadata_data",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(72 >> 8) & 0xff,
+		72 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr2 = {
+	(BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RF_1 & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(3 >> 8) & 0xff,
+	3 & 0xff}
+	},
+	{
+	.description = "l2_dmac",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
+	(BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	},
+	{
+	.description = "l2_smac",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
+	(BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	},
+	{
+	.description = "l3_sip_ipv6",
+	.field_bit_size = 128,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr2 = {
+	(BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	},
+	{
+	.description = "l3_dip_ipv6",
+	.field_bit_size = 128,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opr1 = {
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	(BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
-	.description = "l3_sip_ipv4_en",
-	.field_bit_size = 1,
+	.description = "l3_sip_ipv4",
+	.field_bit_size = 32,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
@@ -7778,14 +9502,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
 	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
-	.description = "l3_dip_ipv4_en",
-	.field_bit_size = 1,
+	.description = "l3_dip_ipv4",
+	.field_bit_size = 32,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
@@ -7797,14 +9522,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
 	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
-	.description = "l4_sport_en",
-	.field_bit_size = 1,
+	.description = "l4_sport",
+	.field_bit_size = 16,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
@@ -7816,14 +9542,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
 	(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
-	.description = "l4_dport_en",
-	.field_bit_size = 1,
+	.description = "l4_dport",
+	.field_bit_size = 16,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
 	.field_opr1 = {
@@ -7835,299 +9562,451 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
 	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
 	(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
 	.field_opr2 = {
-	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
+	/* act_tid: 7, , table: sp_smac_ipv4.0 */
 	{
-	.description = "metadata_rsvd",
-	.field_bit_size = 10,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.description = "smac",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-		(64 >> 8) & 0xff,
-		64 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
 	},
 	{
-	.description = "metadata_op",
-	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.description = "ipv4_src_addr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-		(66 >> 8) & 0xff,
-		66 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	(BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
 	},
 	{
-	.description = "metadata_prof",
-	.field_bit_size = 4,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.description = "reserved",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* act_tid: 7, , table: source_property_cache.wr */
+	{
+	.description = "rid",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 	.field_opr1 = {
-		(68 >> 8) & 0xff,
-		68 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_RID & 0xff}
 	},
 	{
-	.description = "metadata_data",
+	.description = "sp_rec_ptr",
 	.field_bit_size = 32,
-	.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_RF,
 	.field_opr1 = {
-		(70 >> 8) & 0xff,
-		70 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_RF,
-	.field_opr2 = {
-	(BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_RF_1 & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(3 >> 8) & 0xff,
-	3 & 0xff}
+	(BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
+	},
+	/* act_tid: 7, , table: sp_smac_ipv6.0 */
+	{
+	.description = "smac",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+	},
+	{
+	.description = "ipv6_src_addr",
+	.field_bit_size = 128,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
+	},
+	{
+	.description = "reserved",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* act_tid: 7, , table: source_property_ipv6_cache.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 = "sp_rec_ptr",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
+	},
+	/* act_tid: 7, , table: ext_srv6_l2_encap_record.srv6_encap */
+	{
+	.description = "ecv_valid",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_ECV_VALID_YES}
+	},
+	{
+	.description = "ecv_custom_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_ECV_CUSTOM_EN_YES}
+	},
+	{
+	.description = "ecv_vtag_type",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr1 = {
+	(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff}
+	},
+	{
+	.description = "ecv_l2_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_ECV_L2_EN_YES}
+	},
+	{
+	.description = "ecv_l3_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	.field_opr1 = {
+	(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
+	BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff}
+	},
+	{
+	.description = "ecv_l4_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecv_tun_type",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_ECV_TUN_TYPE_GENERIC}
+	},
+	{
+	.description = "ecust_ipv4_ctrl",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_smac_ovr",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_vlan_ovr",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_dmac_ovr",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_gre_set_k",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_tun_qos",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
-	.description = "l2_dmac",
+	.description = "ecust_ip_tos_ih",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ecust_ip_ttl_ih",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "enc_eth_dmac",
 	.field_bit_size = 48,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 56) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 48) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 40) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 32) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 24) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 16) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST >> 8) & 0xff,
-	(uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr2 = {
-	(BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	(BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
 	},
 	{
-	.description = "l2_smac",
-	.field_bit_size = 48,
+	.description = "enc_o_vlan_tag",
+	.field_bit_size = 16,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
 	.field_opr1 = {
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 56) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 48) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 40) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 32) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 24) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 16) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC >> 8) & 0xff,
-	(uint64_t)BNXT_ULP_ACT_BIT_SET_MAC_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr2 = {
-	(BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC & 0xff},
+	(BNXT_ULP_ENC_FIELD_O_VLAN_TCI >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_O_VLAN_TCI & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
-	.description = "l3_sip_ipv6",
-	.field_bit_size = 128,
+	.description = "enc_o_vlan_type",
+	.field_bit_size = 16,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
 	.field_opr1 = {
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 56) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 48) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 40) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 32) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 24) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 16) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC >> 8) & 0xff,
-	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr2 = {
-	(BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC & 0xff},
+	(BNXT_ULP_ENC_FIELD_O_VLAN_TYPE >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_O_VLAN_TYPE & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
-	.description = "l3_dip_ipv6",
-	.field_bit_size = 128,
+	.description = "enc_i_vlan_tag",
+	.field_bit_size = 16,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
 	.field_opr1 = {
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 56) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 48) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 40) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 32) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 24) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 16) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST >> 8) & 0xff,
-	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV6_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr2 = {
-	(BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST & 0xff},
+	(BNXT_ULP_ENC_FIELD_I_VLAN_TCI >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_I_VLAN_TCI & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
-	.description = "l3_sip_ipv4",
-	.field_bit_size = 32,
+	.description = "enc_i_vlan_type",
+	.field_bit_size = 16,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
 	.field_opr1 = {
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
-	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
+	((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
+	(uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr2 = {
-	(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff},
+	(BNXT_ULP_ENC_FIELD_I_VLAN_TYPE >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_I_VLAN_TYPE & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 	},
 	{
-	.description = "l3_dip_ipv4",
+	.description = "enc_ipv6_vtc",
 	.field_bit_size = 32,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
-	(uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr2 = {
-	(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	(BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW & 0xff}
 	},
 	{
-	.description = "l4_sport",
+	.description = "enc_ipv6_zero",
 	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "enc_ipv6_proto",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
-	(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr2 = {
-	(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	(BNXT_ULP_ENC_FIELD_IPV6_PROTO >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff}
 	},
 	{
-	.description = "l4_dport",
-	.field_bit_size = 16,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+	.description = "enc_ipv6_ttl",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
-	((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
-	(uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
-	.field_opr2 = {
-	(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
-	BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+	(BNXT_ULP_ENC_FIELD_IPV6_TTL >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff}
 	},
-	/* act_tid: 7, , table: sp_smac_ipv4.0 */
 	{
-	.description = "smac",
-	.field_bit_size = 48,
+	.description = "enc_ipv6_daddr",
+	.field_bit_size = 128,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
+	},
+	{
+	.description = "enc_generic_size",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+	.field_opr1 = {
+	(BNXT_ULP_CF_IDX_GENERIC_SIZE >> 8) & 0xff,
+	BNXT_ULP_CF_IDX_GENERIC_SIZE & 0xff}
+	},
+	{
+	.description = "enc_generic_rsvd",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "enc_srv6_next_hdr",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_SRV6_NEXT_HDR >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_NEXT_HDR & 0xff}
+	},
+	{
+	.description = "enc_srv6_hdr_len",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_SRV6_HDR_LEN >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_HDR_LEN & 0xff}
+	},
+	{
+	.description = "enc_srv6_routing_type",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_SRV6_ROUTING_TYPE >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_ROUTING_TYPE & 0xff}
+	},
+	{
+	.description = "enc_srv6_seg_left",
+	.field_bit_size = 8,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
-	BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+	(BNXT_ULP_ENC_FIELD_SRV6_SEG_LEFT >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_SEG_LEFT & 0xff}
 	},
 	{
-	.description = "ipv4_src_addr",
-	.field_bit_size = 32,
+	.description = "enc_srv6_last_entry",
+	.field_bit_size = 8,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	(BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
-	BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
+	(BNXT_ULP_ENC_FIELD_SRV6_LAST_ENTRY >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_LAST_ENTRY & 0xff}
 	},
 	{
-	.description = "reserved",
-	.field_bit_size = 48,
+	.description = "enc_srv6_flags",
+	.field_bit_size = 8,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_SRV6_FLAGS >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_FLAGS & 0xff}
 	},
-	/* act_tid: 7, , table: source_property_cache.wr */
 	{
-	.description = "rid",
-	.field_bit_size = 32,
+	.description = "enc_srv6_tag",
+	.field_bit_size = 16,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_RID & 0xff}
+	(BNXT_ULP_ENC_FIELD_SRV6_TAG >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_TAG & 0xff}
 	},
 	{
-	.description = "sp_rec_ptr",
-	.field_bit_size = 32,
+	.description = "enc_srv6_seg_list0",
+	.field_bit_size = 128,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	(BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
+	(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST0 & 0xff}
 	},
-	/* act_tid: 7, , table: sp_smac_ipv6.0 */
 	{
-	.description = "smac",
-	.field_bit_size = 48,
+	.description = "enc_srv6_seg_list1",
+	.field_bit_size = 128,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	(BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
-	BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+	(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST1 & 0xff}
 	},
 	{
-	.description = "ipv6_src_addr",
+	.description = "enc_srv6_seg_list2",
 	.field_bit_size = 128,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
 	.field_opr1 = {
-	(BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff,
-	BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
+	(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST2 & 0xff}
 	},
 	{
-	.description = "reserved",
-	.field_bit_size = 16,
+	.description = "enc_srv6_seg_list3",
+	.field_bit_size = 128,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
+	.field_opr1 = {
+	(BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 >> 8) & 0xff,
+	BNXT_ULP_ENC_FIELD_SRV6_SEG_LIST3 & 0xff}
 	},
-	/* act_tid: 7, , table: source_property_ipv6_cache.wr */
+	/* act_tid: 7, , table: srv6_encap_rec_cache.wr */
 	{
 	.description = "rid",
 	.field_bit_size = 32,
@@ -8138,13 +10017,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	BNXT_ULP_RF_IDX_RID & 0xff}
 	},
 	{
-	.description = "sp_rec_ptr",
-	.field_bit_size = 32,
+	.description = "enc_rec_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_SP_PTR >> 8) & 0xff,
-	BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
+	(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
 	},
 	/* act_tid: 7, , table: ext_tun_vxlan_encap_record.ipv4_vxlan */
 	{
@@ -9437,8 +11316,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(89 >> 8) & 0xff,
-		89 & 0xff,
+		(96 >> 8) & 0xff,
+		96 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -9459,8 +11338,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	{
 	.description = "decap_func",
 	.field_bit_size = 5,
-	.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 = {
+		(98 >> 8) & 0xff,
+		98 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_DECAP_FUNC_THRU_L2},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
 	.description = "mirror",
@@ -9549,6 +11437,79 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 	},
+	/* act_tid: 12, , table: mirror_tbl.alloc */
+	{
+	.description = "reserved1",
+	.field_bit_size = 21,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "arp_relative",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "action_hint",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "sample_mode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "trunc_mode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ignore_drop",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "copy_mode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "mirr_cond",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "act_rec_ptr",
+	.field_bit_size = 26,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "reserved2",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "samp_cfg",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "padding1",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
 	/* act_tid: 12, , table: mod_record.meta */
 	{
 	.description = "metadata_en",
@@ -9821,6 +11782,108 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
 	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* act_tid: 12, , table: mirror_tbl.wr */
+	{
+	.description = "reserved1",
+	.field_bit_size = 21,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "arp_relative",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "action_hint",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "sample_mode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "trunc_mode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ignore_drop",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "copy_mode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	3}
+	},
+	{
+	.description = "mirr_cond",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "act_rec_ptr",
+	.field_bit_size = 26,
+	.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 = "reserved2",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "samp_cfg",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+	.field_opr1 = {
+		0xff,
+		0xff,
+		0xff,
+		0xff}
+	},
+	{
+	.description = "padding1",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* act_tid: 12, , table: shared_mirror_record.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 = "mirror_id",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
 	}
 };
 
@@ -9865,6 +11928,20 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = {
 	.ident_bit_size = 64,
 	.ident_bit_pos = 54
 	},
+	/* act_tid: 1, , table: source_property_cache.rd_smac */
+	{
+	.description = "sp_rec_ptr",
+	.regfile_idx = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
+	.ident_bit_size = 32,
+	.ident_bit_pos = 32
+	},
+	/* act_tid: 1, , table: l2_encap_rec_cache.rd */
+	{
+	.description = "enc_rec_ptr",
+	.regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 32
+	},
 	/* act_tid: 3, , table: shared_mirror_record.del_chk */
 	{
 	.description = "rid",
@@ -10074,6 +12151,13 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = {
 	.ident_bit_size = 32,
 	.ident_bit_pos = 32
 	},
+	/* act_tid: 7, , table: srv6_encap_rec_cache.rd */
+	{
+	.description = "enc_rec_ptr",
+	.regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 32
+	},
 	/* act_tid: 7, , table: vxlan_encap_rec_cache.rd */
 	{
 	.description = "enc_rec_ptr",
@@ -10094,5 +12178,12 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = {
 	.regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
 	.ident_bit_size = 32,
 	.ident_bit_pos = 32
+	},
+	/* act_tid: 12, , table: shared_mirror_record.del_chk */
+	{
+	.description = "rid",
+	.regfile_idx = BNXT_ULP_RF_IDX_RID,
+	.ident_bit_size = 32,
+	.ident_bit_pos = 0
 	}
 };
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 84f836c7a9..83935350b7 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
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2014-2024 Broadcom
+ * Copyright(c) 2014-2025 Broadcom
  * All rights reserved.
  */
 
@@ -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 = 76,
+	.num_tbls = 103,
 	.start_tbl_idx = 0,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
@@ -24,60 +24,70 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor2_class_tmpl_list[] = {
 	[2] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 49,
-	.start_tbl_idx = 76,
+	.start_tbl_idx = 103,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 2125,
+		.cond_start_idx = 2246,
 		.cond_nums = 0 }
 	},
 	/* class_tid: 3, ingress */
 	[3] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
-	.num_tbls = 35,
-	.start_tbl_idx = 125,
+	.num_tbls = 43,
+	.start_tbl_idx = 152,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4329,
 		.cond_nums = 0 }
 	},
 	/* class_tid: 4, egress */
 	[4] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 19,
-	.start_tbl_idx = 160,
+	.start_tbl_idx = 195,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.cond_nums = 0 }
 	},
 	/* class_tid: 5, ingress */
 	[5] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
-	.num_tbls = 1,
-	.start_tbl_idx = 179,
+	.num_tbls = 7,
+	.start_tbl_idx = 214,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.cond_nums = 0 }
 	},
 	/* class_tid: 6, ingress */
 	[6] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
-	.num_tbls = 1,
-	.start_tbl_idx = 180,
+	.num_tbls = 3,
+	.start_tbl_idx = 221,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4350,
 		.cond_nums = 0 }
 	},
 	/* class_tid: 7, ingress */
 	[7] = {
 	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
 	.num_tbls = 1,
-	.start_tbl_idx = 181,
+	.start_tbl_idx = 224,
+	.reject_info = {
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+		.cond_start_idx = 4352,
+		.cond_nums = 0 }
+	},
+	/* class_tid: 8, ingress */
+	[8] = {
+	.device_name = BNXT_ULP_DEVICE_ID_THOR2,
+	.num_tbls = 7,
+	.start_tbl_idx = 225,
 	.reject_info = {
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4352,
 		.cond_nums = 0 }
 	}
 };
@@ -106,6 +116,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.ident_start_idx = 0,
 	.ident_nums = 2
 	},
+	{ /* class_tid: 1, , table: control.srv6_check */
+	.description = "control.srv6_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 2,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR,
+		.cond_start_idx = 0,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 1, , table: control.srv6_valid_check */
+	.description = "control.srv6_valid_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.false_message = "invalid SRv6 header combination",
+	.execute_info = {
+		.cond_true_goto  = 2,
+		.cond_false_goto = 1023,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR,
+		.cond_start_idx = 1,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
 	{ /* class_tid: 1, , table: control.vxlan_ip_check */
 	.description = "control.vxlan_ip_check",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
@@ -115,11 +152,193 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR,
-		.cond_start_idx = 0,
-		.cond_nums = 3 },
+		.cond_start_idx = 2,
+		.cond_nums = 4 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
 	},
+	{ /* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */
+	.description = "tunnel_gparse_cache.dynupar_tunnel_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_GPARSE_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 9,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 14,
+		.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 = 1,
+	.blob_key_bit_size = 16,
+	.key_bit_size = 16,
+	.key_num_fields = 2,
+	.ident_start_idx = 2,
+	.ident_nums = 5
+	},
+	{ /* class_tid: 1, , table: control.dynupar_tunnel */
+	.description = "control.dynupar_tunnel",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 15,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 15,
+		.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: 1, , table: control.set_upar_ptr_srv6_tun */
+	.description = "control.set_upar_ptr_srv6_tun",
+	.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 = 16,
+		.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_COPY_SRC1_TO_RF,
+		.func_src1 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr1 = ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6,
+		.func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 }
+	},
+	{ /* class_tid: 1, , table: dyn_upar_tbl.srv6_alloc */
+	.description = "dyn_upar_tbl.srv6_alloc",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_DYN_UPAR,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+	.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 = 16,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.result_start_idx = 0,
+	.result_bit_size = 768,
+	.result_num_fields = 192
+	},
+	{ /* class_tid: 1, , table: dyn_upar_tbl.srv6_wr */
+	.description = "dyn_upar_tbl.srv6_wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_DYN_UPAR,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+	.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 = 16,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
+	.tbl_operand = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_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 = 192,
+	.result_bit_size = 768,
+	.result_num_fields = 192
+	},
+	{ /* class_tid: 1, , table: control.set_dyn_upar_tun */
+	.description = "control.set_dyn_upar_tun",
+	.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 = 16,
+		.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_COPY_SRC1_TO_RF,
+		.func_src1 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr1 = 1,
+		.func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_TUN }
+	},
+	{ /* class_tid: 1, , table: control.calc_dyn_upar_id_1 */
+	.description = "control.calc_dyn_upar_id_1",
+	.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 = 16,
+		.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_SUB,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = ULP_THOR2_SYM_TUN_TYPE_DYN_UPAR,
+		.func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_ID }
+	},
+	{ /* class_tid: 1, , table: control.calc_dyn_upar_id_2 */
+	.description = "control.calc_dyn_upar_id_2",
+	.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 = 16,
+		.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_ADD,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_DYN_UPAR_ID,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1,
+		.func_dst_opr = BNXT_ULP_RF_IDX_DYN_UPAR_ID }
+	},
+	{ /* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */
+	.description = "tunnel_gparse_cache.dyn_upar_wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_GPARSE_CACHE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 8,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 16,
+		.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 = 3,
+	.blob_key_bit_size = 16,
+	.key_bit_size = 16,
+	.key_num_fields = 2,
+	.result_start_idx = 384,
+	.result_bit_size = 104,
+	.result_num_fields = 6
+	},
 	{ /* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */
 	.description = "tunnel_gparse_cache.custom_tunnel_rd",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
@@ -130,17 +349,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 7,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 8,
+		.cond_start_idx = 16,
 		.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 = 1,
-	.blob_key_bit_size = 8,
-	.key_bit_size = 8,
-	.key_num_fields = 1,
-	.ident_start_idx = 2,
+	.key_start_idx = 5,
+	.blob_key_bit_size = 16,
+	.key_bit_size = 16,
+	.key_num_fields = 2,
+	.ident_start_idx = 7,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 1, , table: control.custom_tunnel */
@@ -151,7 +370,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 2,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 15,
+		.cond_start_idx = 23,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -166,7 +385,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 5,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 16,
+		.cond_start_idx = 24,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -188,12 +407,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 3,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
-		.cond_start_idx = 3,
+		.cond_start_idx = 6,
 		.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 = 0,
+	.result_start_idx = 390,
 	.result_bit_size = 16,
 	.result_num_fields = 1
 	},
@@ -207,12 +426,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 2,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
-		.cond_start_idx = 4,
+		.cond_start_idx = 7,
 		.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 = 1,
+	.result_start_idx = 391,
 	.result_bit_size = 16,
 	.result_num_fields = 1
 	},
@@ -226,12 +445,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 21,
+		.cond_start_idx = 29,
 		.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 = 2,
+	.result_start_idx = 392,
 	.result_bit_size = 16,
 	.result_num_fields = 1
 	},
@@ -245,19 +464,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 22,
+		.cond_start_idx = 30,
 		.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 = 2,
-	.blob_key_bit_size = 8,
-	.key_bit_size = 8,
-	.key_num_fields = 1,
-	.result_start_idx = 3,
-	.result_bit_size = 80,
-	.result_num_fields = 3
+	.key_start_idx = 7,
+	.blob_key_bit_size = 16,
+	.key_bit_size = 16,
+	.key_num_fields = 2,
+	.result_start_idx = 393,
+	.result_bit_size = 104,
+	.result_num_fields = 6
 	},
 	{ /* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */
 	.description = "l2_cntxt_tcam_cache.def_rd",
@@ -270,19 +489,55 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 27,
+		.cond_start_idx = 35,
 		.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 = 3,
+	.key_start_idx = 9,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 4,
+	.ident_start_idx = 9,
 	.ident_nums = 3
 	},
+	{ /* class_tid: 1, , table: control.l2_cntxt_tcam_miss */
+	.description = "control.l2_cntxt_tcam_miss",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.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 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */
+	.description = "table_scope_cache.tsid_ing_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TABLE_SCOPE_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 = 36,
+		.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 = 10,
+	.blob_key_bit_size = 6,
+	.key_bit_size = 6,
+	.key_num_fields = 2,
+	.ident_start_idx = 12,
+	.ident_nums = 2
+	},
 	{ /* class_tid: 1, , table: control.check_f1_f2_flow */
 	.description = "control.check_f1_f2_flow",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
@@ -291,7 +546,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 7,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
-		.cond_start_idx = 27,
+		.cond_start_idx = 36,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -306,17 +561,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 29,
+		.cond_start_idx = 38,
 		.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 = 4,
+	.key_start_idx = 12,
 	.blob_key_bit_size = 19,
 	.key_bit_size = 19,
 	.key_num_fields = 2,
-	.ident_start_idx = 7,
+	.ident_start_idx = 14,
 	.ident_nums = 3
 	},
 	{ /* class_tid: 1, , table: control.tunnel_cache_check */
@@ -327,7 +582,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 29,
+		.cond_start_idx = 38,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -342,7 +597,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 30,
+		.cond_start_idx = 39,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -352,7 +607,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.ident_start_idx = 10,
+	.ident_start_idx = 17,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: cmm_stat_record.add_stat_tunnel_cache */
@@ -366,7 +621,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 30,
+		.cond_start_idx = 39,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_NOP_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_F1,
@@ -374,7 +629,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 6,
+	.result_start_idx = 399,
 	.result_bit_size = 128,
 	.result_num_fields = 2
 	},
@@ -388,17 +643,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 30,
+		.cond_start_idx = 39,
 		.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 = 6,
+	.key_start_idx = 14,
 	.blob_key_bit_size = 19,
 	.key_bit_size = 19,
 	.key_num_fields = 2,
-	.result_start_idx = 8,
+	.result_start_idx = 401,
 	.result_bit_size = 182,
 	.result_num_fields = 5
 	},
@@ -407,10 +662,10 @@ 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  = 28,
+		.cond_true_goto  = 33,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 30,
+		.cond_start_idx = 39,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -423,7 +678,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 31,
+		.cond_start_idx = 40,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -442,7 +697,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 9,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
-		.cond_start_idx = 5,
+		.cond_start_idx = 8,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -456,7 +711,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 47,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -471,17 +726,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 49,
 		.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 = 16,
 	.blob_key_bit_size = 447,
 	.key_bit_size = 447,
 	.key_num_fields = 9,
-	.ident_start_idx = 11,
+	.ident_start_idx = 18,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: control.multi_flow_cache_check */
@@ -492,7 +747,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 73,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -508,14 +763,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 74,
 		.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 = 13,
+	.result_start_idx = 406,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -527,7 +782,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 74,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -548,7 +803,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 74,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -569,17 +824,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 74,
 		.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 = 25,
 	.blob_key_bit_size = 447,
 	.key_bit_size = 447,
 	.key_num_fields = 9,
-	.result_start_idx = 13,
+	.result_start_idx = 406,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -591,7 +846,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 102,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -608,9 +863,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 102,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -625,17 +880,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 103,
 		.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 = 34,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 12,
+	.ident_start_idx = 19,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: control.flow_chain_group_id */
@@ -646,7 +901,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 103,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -662,14 +917,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 104,
 		.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 = 15,
+	.result_start_idx = 408,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -681,7 +936,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 104,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -704,17 +959,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 104,
 		.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 = 35,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.result_start_idx = 15,
+	.result_start_idx = 408,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -726,19 +981,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 104,
 		.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 = 36,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 13,
+	.ident_start_idx = 20,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: control.flow_chain_group_l2_cntxt_check */
@@ -747,9 +1002,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 108,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -764,7 +1019,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 109,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -774,16 +1029,45 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 29,
+	.key_start_idx = 37,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 24,
-	.result_start_idx = 17,
+	.result_start_idx = 410,
 	.result_bit_size = 127,
 	.result_num_fields = 17,
-	.ident_start_idx = 14,
+	.ident_start_idx = 21,
 	.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 = CFA_RSUBTYPE_TCAM_L2CTX,
+	.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 = 111,
+		.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 = 140,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 61,
+	.blob_key_bit_size = 256,
+	.key_bit_size = 256,
+	.key_num_fields = 24,
+	.result_start_idx = 427,
+	.result_bit_size = 127,
+	.result_num_fields = 17,
+	.ident_start_idx = 22,
+	.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,
@@ -794,17 +1078,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 114,
 		.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 = 53,
+	.key_start_idx = 85,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.result_start_idx = 34,
+	.result_start_idx = 444,
 	.result_bit_size = 43,
 	.result_num_fields = 2
 	},
@@ -816,19 +1100,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 5,
+		.cond_false_goto = 7,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 100,
+		.cond_start_idx = 116,
 		.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 = 54,
+	.key_start_idx = 86,
 	.blob_key_bit_size = 131,
 	.key_bit_size = 131,
 	.key_num_fields = 9,
-	.ident_start_idx = 15,
+	.ident_start_idx = 22,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: control.mac_addr_cache_check */
@@ -837,9 +1121,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 4,
+		.cond_false_goto = 6,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 105,
+		.cond_start_idx = 123,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -853,9 +1137,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.execute_info = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 106,
-		.cond_nums = 2 },
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 9,
+		.cond_nums = 1 },
 	.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,
@@ -864,7 +1148,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 140,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.ident_start_idx = 16,
+	.ident_start_idx = 23,
+	.ident_nums = 1
+	},
+	{ /* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */
+	.description = "global_identifier_app_table.allocate_l2_context",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER,
+	.resource_type = CFA_RSUBTYPE_IDENT_L2CTX,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 10,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC,
+	.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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 95,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 5,
+	.result_start_idx = 446,
+	.result_bit_size = 0,
+	.result_num_fields = 0,
+	.ident_start_idx = 24,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */
@@ -876,7 +1186,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 130,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -886,14 +1196,43 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 140,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 63,
+	.key_start_idx = 100,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 24,
-	.result_start_idx = 36,
+	.result_start_idx = 446,
 	.result_bit_size = 127,
 	.result_num_fields = 17,
-	.ident_start_idx = 17,
+	.ident_start_idx = 25,
+	.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 = CFA_RSUBTYPE_TCAM_L2CTX,
+	.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 = 132,
+		.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 = 140,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 124,
+	.blob_key_bit_size = 256,
+	.key_bit_size = 256,
+	.key_num_fields = 24,
+	.result_start_idx = 463,
+	.result_bit_size = 127,
+	.result_num_fields = 17,
+	.ident_start_idx = 25,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 1, , table: mac_addr_cache.l2_table_wr */
@@ -906,20 +1245,51 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 135,
 		.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 = 87,
+	.key_start_idx = 148,
 	.blob_key_bit_size = 131,
 	.key_bit_size = 131,
 	.key_num_fields = 9,
-	.result_start_idx = 53,
+	.result_start_idx = 480,
 	.result_bit_size = 94,
 	.result_num_fields = 5
 	},
+	{ /* class_tid: 1, , table: control.update_default_l2_context */
+	.description = "control.update_default_l2_context",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.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 = 140,
+		.cond_nums = 2 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 1, , table: control.update_default_l2_context_done */
+	.description = "control.update_default_l2_context_done",
+	.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 = 142,
+		.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_COPY_SRC1_TO_RF,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1,
+		.func_dst_opr = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 }
+	},
 	{ /* class_tid: 1, , table: control.check_f1_flow */
 	.description = "control.check_f1_flow",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
@@ -928,7 +1298,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 2,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 113,
+		.cond_start_idx = 142,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -944,14 +1314,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 114,
+		.cond_start_idx = 143,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_NOP_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL_F1,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID_SW_ONLY,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 58,
+	.result_start_idx = 485,
 	.result_bit_size = 128,
 	.result_num_fields = 2
 	},
@@ -964,7 +1334,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR,
-		.cond_start_idx = 6,
+		.cond_start_idx = 11,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -978,7 +1348,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR,
-		.cond_start_idx = 8,
+		.cond_start_idx = 13,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -991,7 +1361,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 129,
+		.cond_start_idx = 158,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1012,17 +1382,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 140,
+		.cond_start_idx = 169,
 		.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 = 96,
+	.key_start_idx = 157,
 	.blob_key_bit_size = 76,
 	.key_bit_size = 76,
 	.key_num_fields = 3,
-	.ident_start_idx = 17,
+	.ident_start_idx = 25,
 	.ident_nums = 7
 	},
 	{ /* class_tid: 1, , table: control.proto_header_cache_miss */
@@ -1031,9 +1401,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 12,
+		.cond_false_goto = 16,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 142,
+		.cond_start_idx = 171,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1049,20 +1419,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 143,
+		.cond_start_idx = 172,
 		.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 = 99,
+	.key_start_idx = 160,
 	.blob_key_bit_size = 12,
 	.key_bit_size = 12,
 	.key_num_fields = 2,
-	.partial_key_start_idx = 101,
+	.partial_key_start_idx = 162,
 	.partial_key_num_fields = 1,
 	.partial_key_bit_size = 64,
-	.ident_start_idx = 24,
+	.ident_start_idx = 32,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 1, , table: control.overlap_miss */
@@ -1071,9 +1441,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 145,
+		.cond_start_idx = 174,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1087,9 +1457,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.execute_info = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 146,
-		.cond_nums = 0 },
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 14,
+		.cond_nums = 1 },
 	.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,
@@ -1098,7 +1468,33 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_APP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.ident_start_idx = 26,
+	.ident_start_idx = 34,
+	.ident_nums = 1
+	},
+	{ /* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */
+	.description = "global_identifier_app_table.allocate_wc_profile",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER,
+	.resource_type = CFA_RSUBTYPE_IDENT_WC_PROF,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 15,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC,
+	.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_1,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 163,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 6,
+	.result_start_idx = 487,
+	.result_bit_size = 0,
+	.result_num_fields = 0,
+	.ident_start_idx = 35,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: fkb_select.wc_gen_template */
@@ -1110,7 +1506,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 146,
+		.cond_start_idx = 179,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0,
@@ -1118,7 +1514,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 60,
+	.result_start_idx = 487,
 	.result_bit_size = 256,
 	.result_num_fields = 172
 	},
@@ -1132,21 +1528,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 498,
+		.cond_start_idx = 535,
 		.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_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.key_start_idx = 102,
+	.key_start_idx = 169,
 	.blob_key_bit_size = 12,
 	.key_bit_size = 12,
 	.key_num_fields = 2,
-	.partial_key_start_idx = 104,
+	.partial_key_start_idx = 171,
 	.partial_key_num_fields = 1,
 	.partial_key_bit_size = 64,
-	.result_start_idx = 232,
+	.result_start_idx = 659,
 	.result_bit_size = 48,
 	.result_num_fields = 3
 	},
@@ -1159,7 +1555,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 500,
+		.cond_start_idx = 537,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
@@ -1167,7 +1563,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 235,
+	.result_start_idx = 662,
 	.result_bit_size = 256,
 	.result_num_fields = 172
 	},
@@ -1181,14 +1577,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 501,
+		.cond_start_idx = 538,
 		.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 = 407,
+	.result_start_idx = 834,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1200,7 +1596,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 501,
+		.cond_start_idx = 538,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1208,9 +1604,57 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 58,
+		.func_opr1 = 59,
 		.func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY }
 	},
+	{ /* class_tid: 1, , table: profile_tcam.allocate_em_profile */
+	.description = "profile_tcam.allocate_em_profile",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = CFA_RSUBTYPE_TCAM_PROF_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 16,
+		.cond_nums = 1 },
+	.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 = ULP_THOR2_SYM_PROF_TCAM_PRI_APP,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.ident_start_idx = 36,
+	.ident_nums = 1
+	},
+	{ /* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */
+	.description = "global_identifier_app_table.allocate_em_profile",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER,
+	.resource_type = CFA_RSUBTYPE_IDENT_EM_PROF,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 17,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC,
+	.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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 172,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 6,
+	.result_start_idx = 834,
+	.result_bit_size = 0,
+	.result_num_fields = 0,
+	.ident_start_idx = 37,
+	.ident_nums = 1
+	},
 	{ /* class_tid: 1, , table: profile_tcam.gen_template */
 	.description = "profile_tcam.gen_template",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
@@ -1220,7 +1664,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 517,
+		.cond_start_idx = 558,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -1231,15 +1675,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_operand  = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 105,
+	.key_start_idx = 178,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 66,
-	.result_start_idx = 407,
+	.result_start_idx = 834,
 	.result_bit_size = 64,
 	.result_num_fields = 10,
-	.ident_start_idx = 27,
-	.ident_nums = 1
+	.ident_start_idx = 38,
+	.ident_nums = 0
 	},
 	{ /* class_tid: 1, , table: wm_key_recipe.0 */
 	.description = "wm_key_recipe.0",
@@ -1251,21 +1695,40 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 774,
+		.cond_start_idx = 865,
 		.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 = 171,
+	.key_start_idx = 244,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
-	.key_num_fields = 33,
-	.result_start_idx = 417,
+	.key_num_fields = 34,
+	.result_start_idx = 844,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
+	{ /* class_tid: 1, , table: control.outer_present_mode_2 */
+	.description = "control.outer_present_mode_2",
+	.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_AND,
+		.cond_start_idx = 1391,
+		.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_COPY_SRC1_TO_RF,
+		.func_oper_size = 8,
+		.func_src1 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr1 = 1,
+		.func_dst_opr = BNXT_ULP_RF_IDX_OUTER_ADD }
+	},
 	{ /* class_tid: 1, , table: proto_header_cache.wr */
 	.description = "proto_header_cache.wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
@@ -1276,17 +1739,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1292,
+		.cond_start_idx = 1392,
 		.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 = 204,
+	.key_start_idx = 278,
 	.blob_key_bit_size = 76,
 	.key_bit_size = 76,
 	.key_num_fields = 3,
-	.result_start_idx = 417,
+	.result_start_idx = 844,
 	.result_bit_size = 106,
 	.result_num_fields = 8
 	},
@@ -1299,18 +1762,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.execute_info = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 11,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1294,
-		.cond_nums = 4 },
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 18,
+		.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 = 207,
+	.key_start_idx = 281,
 	.blob_key_bit_size = 78,
 	.key_bit_size = 78,
 	.key_num_fields = 4,
-	.ident_start_idx = 28,
+	.ident_start_idx = 38,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 1, , table: control.em_flow_conflict_cache_miss */
@@ -1321,7 +1784,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 1300,
+		.cond_start_idx = 1402,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1336,14 +1799,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1301,
+		.cond_start_idx = 1403,
 		.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 = 425,
+	.result_start_idx = 852,
 	.result_bit_size = 256,
 	.result_num_fields = 172
 	},
@@ -1357,17 +1820,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 1616,
+		.cond_start_idx = 1722,
 		.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 = 211,
+	.key_start_idx = 285,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
-	.key_num_fields = 33,
-	.result_start_idx = 597,
+	.key_num_fields = 34,
+	.result_start_idx = 1024,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1381,17 +1844,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 4,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2110,
+		.cond_start_idx = 2224,
 		.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,
+	.key_start_idx = 319,
 	.blob_key_bit_size = 78,
 	.key_bit_size = 78,
 	.key_num_fields = 4,
-	.result_start_idx = 597,
+	.result_start_idx = 1024,
 	.result_bit_size = 96,
 	.result_num_fields = 2
 	},
@@ -1403,7 +1866,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 6,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2112,
+		.cond_start_idx = 2226,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1420,10 +1883,10 @@ 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  = 8,
+		.cond_true_goto  = 13,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2114,
+		.cond_start_idx = 2228,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1435,9 +1898,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.execute_info = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2116,
-		.cond_nums = 3 },
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 20,
+		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
 	},
@@ -1450,7 +1913,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2119,
+		.cond_start_idx = 2235,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL,
@@ -1458,7 +1921,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 599,
+	.result_start_idx = 1026,
 	.result_bit_size = 0,
 	.result_num_fields = 17
 	},
@@ -1471,15 +1934,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2120,
-		.cond_nums = 1 },
+		.cond_start_idx = 2236,
+		.cond_nums = 2 },
 	.tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_DYN_KEY,
 	.key_recipe_operand = BNXT_ULP_RF_IDX_EM_RECIPE_ID,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
-	.result_start_idx = 616,
+	.result_start_idx = 1043,
 	.result_bit_size = 0,
 	.result_num_fields = 13
 	},
@@ -1489,13 +1952,66 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 3,
+		.cond_false_goto = 8,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2121,
+		.cond_start_idx = 2238,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
 	},
+	{ /* class_tid: 1, , table: control.get_wc_flow_priority */
+	.description = "control.get_wc_flow_priority",
+	.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 = 2239,
+		.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_APP_PRIORITY,
+		.func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO }
+	},
+	{ /* class_tid: 1, , table: control.get_ha_priority_secondary */
+	.description = "control.get_ha_priority_secondary",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.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 = 2239,
+		.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_GET_HA_PRIORITY,
+		.func_dst_opr = BNXT_ULP_RF_IDX_HA_PRIO }
+	},
+	{ /* class_tid: 1, , table: control.increment_wc_priority */
+	.description = "control.increment_wc_priority",
+	.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 = 2240,
+		.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_ADD,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_APP_PRIO,
+		.func_src2 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr2 = BNXT_ULP_RF_IDX_HA_PRIO,
+		.func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO },
+	.track_type = CFA_TRACK_TYPE_SID
+	},
 	{ /* class_tid: 1, , table: wm_normal.ingress_generic_template */
 	.description = "wm_normal.ingress_generic_template",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
@@ -1505,18 +2021,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2122,
+		.cond_start_idx = 2240,
 		.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_DYN_KEY,
 	.key_recipe_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_REGFILE,
+	.pri_operand  = BNXT_ULP_RF_IDX_APP_PRIO,
 	.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 = 629,
+	.result_start_idx = 1056,
 	.result_bit_size = 128,
 	.result_num_fields = 15
 	},
@@ -1529,21 +2046,59 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2123,
-		.cond_nums = 1 },
+		.cond_start_idx = 2241,
+		.cond_nums = 2 },
 	.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_DYN_KEY,
 	.key_recipe_operand = BNXT_ULP_RF_IDX_WC_RECIPE_ID,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
-	.pri_opcode  = BNXT_ULP_PRI_OPC_APP_PRI,
+	.pri_opcode  = BNXT_ULP_PRI_OPC_REGFILE,
+	.pri_operand  = BNXT_ULP_RF_IDX_APP_PRIO,
 	.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 = 644,
+	.result_start_idx = 1071,
 	.result_bit_size = 128,
 	.result_num_fields = 14
 	},
+	{ /* class_tid: 1, , table: control.process_wc_priority */
+	.description = "control.process_wc_priority",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 2,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 22,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */
+	.description = "hot_upgrade_tcam_cache.wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_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 = 2245,
+		.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,
+	.blob_key_bit_size = 16,
+	.key_bit_size = 16,
+	.key_num_fields = 1,
+	.result_start_idx = 1085,
+	.result_bit_size = 68,
+	.result_num_fields = 4
+	},
 	{ /* class_tid: 1, , table: control.outer_loop_check */
 	.description = "control.outer_loop_check",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
@@ -1552,7 +2107,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2124,
+		.cond_start_idx = 2245,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1565,7 +2120,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2125,
+		.cond_start_idx = 2246,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1581,10 +2136,10 @@ 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  = -29,
+		.cond_true_goto  = -38,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2125,
+		.cond_start_idx = 2246,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1605,17 +2160,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2125,
+		.cond_start_idx = 2246,
 		.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 = 248,
+	.key_start_idx = 324,
 	.blob_key_bit_size = 10,
 	.key_bit_size = 10,
 	.key_num_fields = 1,
-	.ident_start_idx = 29,
+	.ident_start_idx = 39,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: l2_cntxt_tcam_cache.def_rd */
@@ -1629,17 +2184,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2125,
+		.cond_start_idx = 2246,
 		.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 = 249,
+	.key_start_idx = 325,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 30,
+	.ident_start_idx = 40,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 2, , table: control.l2_only_check */
@@ -1651,7 +2206,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR,
-		.cond_start_idx = 9,
+		.cond_start_idx = 23,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1665,7 +2220,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_OR,
-		.cond_start_idx = 11,
+		.cond_start_idx = 25,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1678,7 +2233,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 9,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
-		.cond_start_idx = 13,
+		.cond_start_idx = 27,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1692,7 +2247,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1023,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2147,
+		.cond_start_idx = 2268,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1707,17 +2262,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2149,
+		.cond_start_idx = 2270,
 		.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 = 250,
+	.key_start_idx = 326,
 	.blob_key_bit_size = 447,
 	.key_bit_size = 447,
 	.key_num_fields = 9,
-	.ident_start_idx = 32,
+	.ident_start_idx = 42,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: control.multi_flow_cache_check */
@@ -1728,7 +2283,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 5,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2177,
+		.cond_start_idx = 2298,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1744,14 +2299,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2178,
+		.cond_start_idx = 2299,
 		.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 = 658,
+	.result_start_idx = 1089,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1763,7 +2318,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2178,
+		.cond_start_idx = 2299,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1784,7 +2339,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2178,
+		.cond_start_idx = 2299,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1805,17 +2360,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2178,
+		.cond_start_idx = 2299,
 		.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 = 259,
+	.key_start_idx = 335,
 	.blob_key_bit_size = 447,
 	.key_bit_size = 447,
 	.key_num_fields = 9,
-	.result_start_idx = 658,
+	.result_start_idx = 1089,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -1827,7 +2382,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2206,
+		.cond_start_idx = 2327,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1846,7 +2401,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2206,
+		.cond_start_idx = 2327,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1854,7 +2409,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 336,
+		.func_opr1 = 367,
 		.func_dst_opr = BNXT_ULP_RF_IDX_TERM_FLOW }
 	},
 	{ /* class_tid: 2, , table: control.group_id_check */
@@ -1865,7 +2420,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 6,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2214,
+		.cond_start_idx = 2335,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -1880,17 +2435,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2215,
+		.cond_start_idx = 2336,
 		.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 = 268,
+	.key_start_idx = 344,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.ident_start_idx = 33,
+	.ident_start_idx = 43,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: control.flow_chain_group_id */
@@ -1901,7 +2456,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2215,
+		.cond_start_idx = 2336,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -1917,14 +2472,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2216,
+		.cond_start_idx = 2337,
 		.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 = 660,
+	.result_start_idx = 1091,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -1936,7 +2491,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2216,
+		.cond_start_idx = 2337,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1959,17 +2514,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2216,
+		.cond_start_idx = 2337,
 		.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 = 269,
+	.key_start_idx = 345,
 	.blob_key_bit_size = 32,
 	.key_bit_size = 32,
 	.key_num_fields = 1,
-	.result_start_idx = 660,
+	.result_start_idx = 1091,
 	.result_bit_size = 64,
 	.result_num_fields = 2
 	},
@@ -1983,17 +2538,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2216,
+		.cond_start_idx = 2337,
 		.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 = 270,
+	.key_start_idx = 346,
 	.blob_key_bit_size = 76,
 	.key_bit_size = 76,
 	.key_num_fields = 3,
-	.ident_start_idx = 34,
+	.ident_start_idx = 44,
 	.ident_nums = 7
 	},
 	{ /* class_tid: 2, , table: control.proto_header_cache_miss */
@@ -2004,7 +2559,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 12,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2218,
+		.cond_start_idx = 2339,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2020,20 +2575,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2219,
+		.cond_start_idx = 2340,
 		.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 = 273,
+	.key_start_idx = 349,
 	.blob_key_bit_size = 12,
 	.key_bit_size = 12,
 	.key_num_fields = 2,
-	.partial_key_start_idx = 275,
+	.partial_key_start_idx = 351,
 	.partial_key_num_fields = 1,
 	.partial_key_bit_size = 64,
-	.ident_start_idx = 41,
+	.ident_start_idx = 51,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 2, , table: control.overlap_miss */
@@ -2044,7 +2599,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2221,
+		.cond_start_idx = 2342,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2059,7 +2614,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2222,
+		.cond_start_idx = 2343,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -2069,7 +2624,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = 0,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.ident_start_idx = 43,
+	.ident_start_idx = 53,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: fkb_select.wc_gen_template */
@@ -2081,7 +2636,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2222,
+		.cond_start_idx = 2343,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0,
@@ -2089,7 +2644,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID_1,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.result_start_idx = 662,
+	.result_start_idx = 1093,
 	.result_bit_size = 256,
 	.result_num_fields = 172
 	},
@@ -2103,21 +2658,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2577,
+		.cond_start_idx = 2698,
 		.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_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
-	.key_start_idx = 276,
+	.key_start_idx = 352,
 	.blob_key_bit_size = 12,
 	.key_bit_size = 12,
 	.key_num_fields = 2,
-	.partial_key_start_idx = 278,
+	.partial_key_start_idx = 354,
 	.partial_key_num_fields = 1,
 	.partial_key_bit_size = 64,
-	.result_start_idx = 834,
+	.result_start_idx = 1265,
 	.result_bit_size = 48,
 	.result_num_fields = 3
 	},
@@ -2130,7 +2685,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2579,
+		.cond_start_idx = 2700,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0,
@@ -2138,7 +2693,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 837,
+	.result_start_idx = 1268,
 	.result_bit_size = 256,
 	.result_num_fields = 172
 	},
@@ -2152,14 +2707,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2580,
+		.cond_start_idx = 2701,
 		.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 = 1009,
+	.result_start_idx = 1440,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -2171,7 +2726,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2580,
+		.cond_start_idx = 2701,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2179,7 +2734,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 389,
+		.func_opr1 = 420,
 		.func_dst_opr = BNXT_ULP_RF_IDX_PROF_TCAM_PRIORITY }
 	},
 	{ /* class_tid: 2, , table: profile_tcam.gen_template */
@@ -2191,7 +2746,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2596,
+		.cond_start_idx = 2717,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -2203,14 +2758,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 279,
+	.key_start_idx = 355,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 66,
-	.result_start_idx = 1009,
+	.result_start_idx = 1440,
 	.result_bit_size = 64,
 	.result_num_fields = 10,
-	.ident_start_idx = 44,
+	.ident_start_idx = 54,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: wm_key_recipe.0 */
@@ -2223,18 +2778,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 2851,
+		.cond_start_idx = 2972,
 		.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 = 345,
+	.key_start_idx = 421,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
 	.key_num_fields = 33,
-	.result_start_idx = 1019,
+	.result_start_idx = 1450,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -2248,17 +2803,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3375,
+		.cond_start_idx = 3496,
 		.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 = 378,
+	.key_start_idx = 454,
 	.blob_key_bit_size = 76,
 	.key_bit_size = 76,
 	.key_num_fields = 3,
-	.result_start_idx = 1019,
+	.result_start_idx = 1450,
 	.result_bit_size = 106,
 	.result_num_fields = 8
 	},
@@ -2272,17 +2827,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 11,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3377,
+		.cond_start_idx = 3498,
 		.cond_nums = 4 },
 	.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 = 381,
+	.key_start_idx = 457,
 	.blob_key_bit_size = 78,
 	.key_bit_size = 78,
 	.key_num_fields = 4,
-	.ident_start_idx = 45,
+	.ident_start_idx = 55,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 2, , table: control.em_flow_conflict_cache_miss */
@@ -2293,7 +2848,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3383,
+		.cond_start_idx = 3504,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2308,14 +2863,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3384,
+		.cond_start_idx = 3505,
 		.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 = 1027,
+	.result_start_idx = 1458,
 	.result_bit_size = 256,
 	.result_num_fields = 172
 	},
@@ -2329,17 +2884,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 3699,
+		.cond_start_idx = 3820,
 		.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 = 385,
+	.key_start_idx = 461,
 	.blob_key_bit_size = 0,
 	.key_bit_size = 0,
 	.key_num_fields = 33,
-	.result_start_idx = 1199,
+	.result_start_idx = 1630,
 	.result_bit_size = 0,
 	.result_num_fields = 0
 	},
@@ -2353,17 +2908,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 4,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4193,
+		.cond_start_idx = 4314,
 		.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 = 418,
+	.key_start_idx = 494,
 	.blob_key_bit_size = 78,
 	.key_bit_size = 78,
 	.key_num_fields = 4,
-	.result_start_idx = 1199,
+	.result_start_idx = 1630,
 	.result_bit_size = 96,
 	.result_num_fields = 2
 	},
@@ -2375,7 +2930,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 6,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4195,
+		.cond_start_idx = 4316,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2395,7 +2950,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 8,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4197,
+		.cond_start_idx = 4318,
 		.cond_nums = 2 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2408,7 +2963,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4199,
+		.cond_start_idx = 4320,
 		.cond_nums = 3 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2422,7 +2977,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4202,
+		.cond_start_idx = 4323,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL,
@@ -2430,7 +2985,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1201,
+	.result_start_idx = 1632,
 	.result_bit_size = 0,
 	.result_num_fields = 17
 	},
@@ -2443,7 +2998,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4203,
+		.cond_start_idx = 4324,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_EM_TBL_OPC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL,
@@ -2451,7 +3006,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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_NO,
-	.result_start_idx = 1218,
+	.result_start_idx = 1649,
 	.result_bit_size = 0,
 	.result_num_fields = 13
 	},
@@ -2463,7 +3018,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 3,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4204,
+		.cond_start_idx = 4325,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2477,7 +3032,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4205,
+		.cond_start_idx = 4326,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
@@ -2488,7 +3043,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1231,
+	.result_start_idx = 1662,
 	.result_bit_size = 128,
 	.result_num_fields = 15
 	},
@@ -2501,7 +3056,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4206,
+		.cond_start_idx = 4327,
 		.cond_nums = 1 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
@@ -2512,7 +3067,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1246,
+	.result_start_idx = 1677,
 	.result_bit_size = 128,
 	.result_num_fields = 14
 	},
@@ -2524,7 +3079,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4207,
+		.cond_start_idx = 4328,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -2537,7 +3092,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4329,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2556,7 +3111,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = -28,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4329,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2567,6 +3122,81 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.func_opr1 = 1,
 		.func_dst_opr = BNXT_ULP_RF_IDX_INNER_LOOP }
 	},
+	{ /* class_tid: 3, , table: control.redirect_only_check */
+	.description = "control.redirect_only_check",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 16,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4329,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 3, , table: global_regfiles_cache.metadata_record_rd */
+	.description = "global_regfiles_cache.metadata_record_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_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 = 4330,
+		.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 = 498,
+	.blob_key_bit_size = 8,
+	.key_bit_size = 8,
+	.key_num_fields = 1,
+	.ident_start_idx = 56,
+	.ident_nums = 0
+	},
+	{ /* class_tid: 3, , table: control.metadata_record_miss */
+	.description = "control.metadata_record_miss",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 14,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4330,
+		.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: global_idx_app_table.alloc_metadata_rec_act_rx */
+	.description = "global_idx_app_table.alloc_metadata_rec_act_rx",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT,
+	.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 = 4331,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC,
+	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 499,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 5,
+	.result_start_idx = 1691,
+	.result_bit_size = 0,
+	.result_num_fields = 0
+	},
 	{ /* class_tid: 3, , table: metadata_record.act_rx_wr */
 	.description = "metadata_record.act_rx_wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -2578,7 +3208,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4331,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_ACT_0,
@@ -2586,10 +3216,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1260,
+	.result_start_idx = 1691,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
+	{ /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */
+	.description = "global_idx_app_table.alloc_metadata_rec_prof_rx",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF,
+	.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 = 4331,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC,
+	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_PROF_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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 504,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 5,
+	.result_start_idx = 1692,
+	.result_bit_size = 0,
+	.result_num_fields = 0
+	},
 	{ /* class_tid: 3, , table: metadata_record.prof_rx_wr */
 	.description = "metadata_record.prof_rx_wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -2601,7 +3256,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4331,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_PROF_0,
@@ -2609,10 +3264,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1261,
+	.result_start_idx = 1692,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
+	{ /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */
+	.description = "global_idx_app_table.alloc_metadata_rec_lkup_rx",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP,
+	.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 = 4331,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC,
+	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 509,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 5,
+	.result_start_idx = 1693,
+	.result_bit_size = 0,
+	.result_num_fields = 0
+	},
 	{ /* class_tid: 3, , table: metadata_record.lkup_rx_wr */
 	.description = "metadata_record.lkup_rx_wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -2624,7 +3304,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4331,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0,
@@ -2632,10 +3312,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1262,
+	.result_start_idx = 1693,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
+	{ /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */
+	.description = "global_idx_app_table.alloc_metadata_rec_act_tx",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_ACT,
+	.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 = 4331,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC,
+	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 514,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 5,
+	.result_start_idx = 1694,
+	.result_bit_size = 0,
+	.result_num_fields = 0
+	},
 	{ /* class_tid: 3, , table: metadata_record.act_tx_wr */
 	.description = "metadata_record.act_tx_wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -2647,7 +3352,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4331,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0,
@@ -2655,10 +3360,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1263,
+	.result_start_idx = 1694,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
+	{ /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */
+	.description = "global_idx_app_table.alloc_metadata_rec_prof_tx",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_PROF,
+	.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 = 4331,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC,
+	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_PROF_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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 519,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 5,
+	.result_start_idx = 1695,
+	.result_bit_size = 0,
+	.result_num_fields = 0
+	},
 	{ /* class_tid: 3, , table: metadata_record.prof_tx_wr */
 	.description = "metadata_record.prof_tx_wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -2670,7 +3400,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4331,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_PROF_0,
@@ -2678,10 +3408,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1264,
+	.result_start_idx = 1695,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
+	{ /* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */
+	.description = "global_idx_app_table.alloc_metadata_rec_lkup_tx",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDX_TBL,
+	.resource_type = CFA_RSUBTYPE_IDX_TBL_METADATA_LKUP,
+	.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 = 4331,
+		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDX_TBL_OPC_ALLOC,
+	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 524,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 5,
+	.result_start_idx = 1696,
+	.result_bit_size = 0,
+	.result_num_fields = 0
+	},
 	{ /* class_tid: 3, , table: metadata_record.lkup_tx_wr */
 	.description = "metadata_record.lkup_tx_wr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
@@ -2693,7 +3448,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4331,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
 	.tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0,
@@ -2701,7 +3456,31 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_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 = 1265,
+	.result_start_idx = 1696,
+	.result_bit_size = 32,
+	.result_num_fields = 1
+	},
+	{ /* class_tid: 3, , table: global_regfiles_cache.metadata_record_wr */
+	.description = "global_regfiles_cache.metadata_record_wr",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GLOBAL_REGFILES_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 = 4331,
+		.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 = 529,
+	.blob_key_bit_size = 8,
+	.key_bit_size = 8,
+	.key_num_fields = 1,
+	.result_start_idx = 1697,
 	.result_bit_size = 32,
 	.result_num_fields = 1
 	},
@@ -2715,17 +3494,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4331,
 		.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 = 422,
+	.key_start_idx = 530,
 	.blob_key_bit_size = 6,
 	.key_bit_size = 6,
 	.key_num_fields = 2,
-	.ident_start_idx = 46,
+	.ident_start_idx = 56,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 3, , table: control.ts_ing_rd_check */
@@ -2734,9 +3513,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.direction = TF_DIR_RX,
 	.execute_info = {
 		.cond_true_goto  = 1,
-		.cond_false_goto = 6,
+		.cond_false_goto = 8,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4208,
+		.cond_start_idx = 4331,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -2753,7 +3532,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4209,
+		.cond_start_idx = 4332,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
@@ -2761,7 +3540,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 1266,
+	.result_start_idx = 1698,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -2776,7 +3555,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4209,
+		.cond_start_idx = 4332,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
@@ -2784,7 +3563,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 1284,
+	.result_start_idx = 1716,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -2796,7 +3575,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4209,
+		.cond_start_idx = 4333,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2808,6 +3587,54 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.func_opr2 = 32,
 		.func_dst_opr = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR }
 	},
+	{ /* class_tid: 3, , table: profile_tcam_bypass.allocate_prof_func */
+	.description = "profile_tcam_bypass.allocate_prof_func",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = CFA_RSUBTYPE_TCAM_PROF_TCAM,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 28,
+		.cond_nums = 1 },
+	.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 = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.ident_start_idx = 58,
+	.ident_nums = 1
+	},
+	{ /* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */
+	.description = "global_identifier_app_table.allocate_prof_func",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GLOBAL_IDENTIFIER,
+	.resource_type = CFA_RSUBTYPE_IDENT_PROF_FUNC,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = 1,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_LIST_AND,
+		.cond_start_idx = 29,
+		.cond_nums = 1 },
+	.tbl_opcode = BNXT_ULP_GLOBAL_IDENTIFIER_TBL_OPC_ALLOC,
+	.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,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 532,
+	.blob_key_bit_size = 128,
+	.key_bit_size = 128,
+	.key_num_fields = 4,
+	.result_start_idx = 1734,
+	.result_bit_size = 0,
+	.result_num_fields = 0,
+	.ident_start_idx = 59,
+	.ident_nums = 1
+	},
 	{ /* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */
 	.description = "profile_tcam_bypass.ing_catch_all",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
@@ -2817,7 +3644,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4209,
+		.cond_start_idx = 4335,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -2828,15 +3655,15 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 424,
+	.key_start_idx = 536,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 66,
-	.result_start_idx = 1302,
+	.result_start_idx = 1734,
 	.result_bit_size = 65,
 	.result_num_fields = 7,
-	.ident_start_idx = 48,
-	.ident_nums = 1
+	.ident_start_idx = 60,
+	.ident_nums = 0
 	},
 	{ /* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */
 	.description = "table_scope_cache.tsid_ing_wr",
@@ -2848,17 +3675,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4209,
+		.cond_start_idx = 4335,
 		.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 = 490,
+	.key_start_idx = 602,
 	.blob_key_bit_size = 6,
 	.key_bit_size = 6,
 	.key_num_fields = 2,
-	.result_start_idx = 1309,
+	.result_start_idx = 1741,
 	.result_bit_size = 88,
 	.result_num_fields = 5
 	},
@@ -2872,110 +3699,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4209,
+		.cond_start_idx = 4335,
 		.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 = 492,
+	.key_start_idx = 604,
 	.blob_key_bit_size = 10,
 	.key_bit_size = 10,
 	.key_num_fields = 1,
-	.result_start_idx = 1314,
+	.result_start_idx = 1746,
 	.result_bit_size = 169,
 	.result_num_fields = 6
 	},
-	{ /* class_tid: 3, , 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 = 4209,
-		.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 = 493,
-	.blob_key_bit_size = 11,
-	.key_bit_size = 11,
-	.key_num_fields = 1,
-	.ident_start_idx = 49,
-	.ident_nums = 1
-	},
-	{ /* class_tid: 3, , table: control.ing_rd_check */
-	.description = "control.ing_rd_check",
-	.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 = 4209,
-		.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.svif_ing */
-	.description = "l2_cntxt_tcam.svif_ing",
-	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = CFA_RSUBTYPE_TCAM_L2CTX,
-	.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 = 4210,
-		.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 = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL,
-	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 494,
-	.blob_key_bit_size = 256,
-	.key_bit_size = 256,
-	.key_num_fields = 24,
-	.result_start_idx = 1320,
-	.result_bit_size = 127,
-	.result_num_fields = 17,
-	.ident_start_idx = 50,
-	.ident_nums = 1
-	},
-	{ /* 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 = 4210,
-		.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 = 518,
-	.blob_key_bit_size = 11,
-	.key_bit_size = 11,
-	.key_num_fields = 1,
-	.result_start_idx = 1337,
-	.result_bit_size = 94,
-	.result_num_fields = 5
-	},
 	{ /* class_tid: 3, , table: cmm_full_act_record.throw_away_egr */
 	.description = "cmm_full_act_record.throw_away_egr",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
@@ -2987,14 +3724,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4210,
+		.cond_start_idx = 4335,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 1342,
+	.result_start_idx = 1752,
 	.result_bit_size = 192,
 	.result_num_fields = 18,
 	.encap_num_fields = 0
@@ -3010,14 +3747,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4210,
+		.cond_start_idx = 4335,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 1360,
+	.result_start_idx = 1770,
 	.result_bit_size = 192,
 	.result_num_fields = 18,
 	.encap_num_fields = 0
@@ -3032,7 +3769,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4210,
+		.cond_start_idx = 4335,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
 	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
@@ -3045,11 +3782,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
 		.func_opr2 = 32,
 		.func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR },
-	.key_start_idx = 519,
+	.key_start_idx = 605,
 	.blob_key_bit_size = 10,
 	.key_bit_size = 10,
 	.key_num_fields = 1,
-	.result_start_idx = 1378,
+	.result_start_idx = 1788,
 	.result_bit_size = 169,
 	.result_num_fields = 6
 	},
@@ -3062,13 +3799,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4210,
+		.cond_start_idx = 4335,
 		.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 = 1384,
+	.result_start_idx = 1794,
 	.result_bit_size = 128,
 	.result_num_fields = 14
 	},
@@ -3082,17 +3819,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4210,
+		.cond_start_idx = 4335,
 		.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 = 520,
+	.key_start_idx = 606,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 51,
+	.ident_start_idx = 60,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 3, , table: control.non_vfr_egr_rd_check */
@@ -3103,7 +3840,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4210,
+		.cond_start_idx = 4335,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -3118,7 +3855,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4211,
+		.cond_start_idx = 4336,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -3128,14 +3865,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 521,
+	.key_start_idx = 607,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 24,
-	.result_start_idx = 1398,
+	.result_start_idx = 1808,
 	.result_bit_size = 127,
 	.result_num_fields = 17,
-	.ident_start_idx = 51,
+	.ident_start_idx = 60,
 	.ident_nums = 2
 	},
 	{ /* class_tid: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */
@@ -3147,7 +3884,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4211,
+		.cond_start_idx = 4336,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -3158,14 +3895,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 545,
+	.key_start_idx = 631,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 66,
-	.result_start_idx = 1415,
+	.result_start_idx = 1825,
 	.result_bit_size = 65,
 	.result_num_fields = 7,
-	.ident_start_idx = 53,
+	.ident_start_idx = 62,
 	.ident_nums = 0
 	},
 	{ /* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */
@@ -3178,17 +3915,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4211,
+		.cond_start_idx = 4336,
 		.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 = 611,
+	.key_start_idx = 697,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.result_start_idx = 1422,
+	.result_start_idx = 1832,
 	.result_bit_size = 94,
 	.result_num_fields = 5
 	},
@@ -3202,17 +3939,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4211,
+		.cond_start_idx = 4336,
 		.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 = 612,
+	.key_start_idx = 698,
 	.blob_key_bit_size = 6,
 	.key_bit_size = 6,
 	.key_num_fields = 2,
-	.ident_start_idx = 53,
+	.ident_start_idx = 62,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 3, , table: control.tsid_vfr_rd_check */
@@ -3223,7 +3960,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4211,
+		.cond_start_idx = 4336,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -3240,14 +3977,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
 	.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 = 1427,
+	.result_start_idx = 1837,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 20
@@ -3260,7 +3997,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -3283,7 +4020,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
@@ -3291,7 +4028,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 1447,
+	.result_start_idx = 1857,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -3303,7 +4040,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -3324,7 +4061,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -3334,14 +4071,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 614,
+	.key_start_idx = 700,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 24,
-	.result_start_idx = 1465,
+	.result_start_idx = 1875,
 	.result_bit_size = 127,
 	.result_num_fields = 17,
-	.ident_start_idx = 54,
+	.ident_start_idx = 63,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */
@@ -3354,17 +4091,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.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 = 638,
+	.key_start_idx = 724,
 	.blob_key_bit_size = 6,
 	.key_bit_size = 6,
 	.key_num_fields = 2,
-	.result_start_idx = 1482,
+	.result_start_idx = 1892,
 	.result_bit_size = 88,
 	.result_num_fields = 5
 	},
@@ -3378,17 +4115,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.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 = 640,
+	.key_start_idx = 726,
 	.blob_key_bit_size = 6,
 	.key_bit_size = 6,
 	.key_num_fields = 2,
-	.ident_start_idx = 55,
+	.ident_start_idx = 64,
 	.ident_nums = 3
 	},
 	{ /* class_tid: 4, , table: control.tsid_vfr_egr_check */
@@ -3399,7 +4136,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 7,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4212,
+		.cond_start_idx = 4337,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -3416,7 +4153,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4213,
+		.cond_start_idx = 4338,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
@@ -3430,7 +4167,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
 		.func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL,
 		.func_dst_opr = BNXT_ULP_RF_IDX_RF_0 },
-	.result_start_idx = 1487,
+	.result_start_idx = 1897,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 20
@@ -3443,7 +4180,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4213,
+		.cond_start_idx = 4338,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -3466,7 +4203,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4213,
+		.cond_start_idx = 4338,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
@@ -3474,7 +4211,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
 	.fdb_operand = BNXT_ULP_RF_IDX_RID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 1507,
+	.result_start_idx = 1917,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -3486,7 +4223,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4213,
+		.cond_start_idx = 4338,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -3507,7 +4244,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4213,
+		.cond_start_idx = 4338,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
@@ -3518,14 +4255,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_CATCHALL,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 642,
+	.key_start_idx = 728,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 66,
-	.result_start_idx = 1525,
+	.result_start_idx = 1935,
 	.result_bit_size = 65,
 	.result_num_fields = 7,
-	.ident_start_idx = 58,
+	.ident_start_idx = 67,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */
@@ -3538,17 +4275,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4213,
+		.cond_start_idx = 4338,
 		.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 = 708,
+	.key_start_idx = 794,
 	.blob_key_bit_size = 6,
 	.key_bit_size = 6,
 	.key_num_fields = 2,
-	.result_start_idx = 1532,
+	.result_start_idx = 1942,
 	.result_bit_size = 88,
 	.result_num_fields = 5
 	},
@@ -3563,17 +4300,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4213,
+		.cond_start_idx = 4338,
 		.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 = 710,
+	.key_start_idx = 796,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.ident_start_idx = 59,
+	.ident_start_idx = 68,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 4, , table: control.endpoint_def_egr_rd_check */
@@ -3584,7 +4321,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 4,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 4213,
+		.cond_start_idx = 4338,
 		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -3599,7 +4336,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
@@ -3609,14 +4346,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 	.pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
 	.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL,
 	.track_type = CFA_TRACK_TYPE_SID,
-	.key_start_idx = 711,
+	.key_start_idx = 797,
 	.blob_key_bit_size = 256,
 	.key_bit_size = 256,
 	.key_num_fields = 24,
-	.result_start_idx = 1537,
+	.result_start_idx = 1947,
 	.result_bit_size = 127,
 	.result_num_fields = 17,
-	.ident_start_idx = 60,
+	.ident_start_idx = 69,
 	.ident_nums = 1
 	},
 	{ /* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */
@@ -3630,17 +4367,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.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 = 735,
+	.key_start_idx = 821,
 	.blob_key_bit_size = 11,
 	.key_bit_size = 11,
 	.key_num_fields = 1,
-	.result_start_idx = 1554,
+	.result_start_idx = 1964,
 	.result_bit_size = 94,
 	.result_num_fields = 5
 	},
@@ -3654,17 +4391,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.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 = 736,
+	.key_start_idx = 822,
 	.blob_key_bit_size = 10,
 	.key_bit_size = 10,
 	.key_num_fields = 1,
-	.result_start_idx = 1559,
+	.result_start_idx = 1969,
 	.result_bit_size = 169,
 	.result_num_fields = 6
 	},
@@ -3679,7 +4416,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
@@ -3692,7 +4429,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
 		.func_opr2 = ULP_THOR2_SYM_VF_2_VF_META_VAL,
 		.func_dst_opr = BNXT_ULP_RF_IDX_RF_0 },
-	.result_start_idx = 1565,
+	.result_start_idx = 1975,
 	.result_bit_size = 0,
 	.result_num_fields = 0,
 	.encap_num_fields = 20
@@ -3705,7 +4442,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -3728,14 +4465,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.cond_nums = 0 },
 	.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
 	.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
-	.result_start_idx = 1585,
+	.result_start_idx = 1995,
 	.result_bit_size = 192,
 	.result_num_fields = 18
 	},
@@ -3747,7 +4484,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -3767,7 +4504,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1,
 		.cond_false_goto = 1,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -3787,7 +4524,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 0,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4339,
 		.cond_nums = 0 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -3800,33 +4537,222 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.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",
+	{ /* class_tid: 5, , table: table_scope_cache.tsid_ing_rd */
+	.description = "table_scope_cache.tsid_ing_rd",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TABLE_SCOPE_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 = 4339,
+		.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 = 823,
+	.blob_key_bit_size = 6,
+	.key_bit_size = 6,
+	.key_num_fields = 2,
+	.ident_start_idx = 70,
+	.ident_nums = 2
+	},
+	{ /* class_tid: 5, , table: control.tsid_rd_check */
+	.description = "control.tsid_rd_check",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
 	.direction = TF_DIR_RX,
-	.true_message = "Reject: Thor2 not supporting promiscuous template",
+	.true_message = "Reject: table scope init not done",
 	.execute_info = {
 		.cond_true_goto  = 1023,
-		.cond_false_goto = 0,
+		.cond_false_goto = 1,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4339,
+		.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: 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 = 4214,
+		.cond_start_idx = 4340,
 		.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
+	.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+	.key_start_idx = 825,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 72,
+	.ident_nums = 1
 	},
-	{ /* class_tid: 6, , table: control.reject */
-	.description = "control.reject",
+	{ /* class_tid: 5, , table: control.ing_rd_check */
+	.description = "control.ing_rd_check",
 	.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_true_goto  = 1,
 		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4340,
+		.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: 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 = 4341,
+		.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 = 826,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 73,
+	.ident_nums = 2
+	},
+	{ /* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */
+	.description = "l2_cntxt_tcam.svif_ing",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
+	.resource_type = CFA_RSUBTYPE_TCAM_L2CTX,
+	.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 = 4214,
+		.cond_start_idx = 4342,
 		.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_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 = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL,
+	.track_type = CFA_TRACK_TYPE_SID,
+	.key_start_idx = 827,
+	.blob_key_bit_size = 256,
+	.key_bit_size = 256,
+	.key_num_fields = 24,
+	.result_start_idx = 2013,
+	.result_bit_size = 127,
+	.result_num_fields = 17,
+	.ident_start_idx = 75,
+	.ident_nums = 1
+	},
+	{ /* 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 = 4346,
+		.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 = 851,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.result_start_idx = 2030,
+	.result_bit_size = 94,
+	.result_num_fields = 5
+	},
+	{ /* 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 = 4350,
+		.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 = 852,
+	.blob_key_bit_size = 11,
+	.key_bit_size = 11,
+	.key_num_fields = 1,
+	.ident_start_idx = 76,
+	.ident_nums = 1
+	},
+	{ /* class_tid: 6, , table: control.ing_rd_check */
+	.description = "control.ing_rd_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 = 4350,
+		.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: 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 = 4351,
+		.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 }
 	},
 	{ /* class_tid: 7, , table: control.reject */
 	.description = "control.reject",
@@ -3837,115 +4763,372 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
 		.cond_true_goto  = 1023,
 		.cond_false_goto = 0,
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
-		.cond_start_idx = 4214,
+		.cond_start_idx = 4352,
+		.cond_nums = 0 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 8, , table: control.check_hot_upgrade */
+	.description = "control.check_hot_upgrade",
+	.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_LIST_AND,
+		.cond_start_idx = 30,
+		.cond_nums = 1 },
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 8, , table: control.get_ha_priority */
+	.description = "control.get_ha_priority",
+	.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 = 4354,
+		.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_GET_HA_PRIORITY,
+		.func_dst_opr = BNXT_ULP_RF_IDX_HA_PRIO }
+	},
+	{ /* class_tid: 8, , table: hot_upgrade_tcam_cache.iterate_read */
+	.description = "hot_upgrade_tcam_cache.iterate_read",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+	.resource_sub_type =
+		BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_HOT_UPGRADE_TCAM_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 = 4354,
 		.cond_nums = 0 },
+	.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_ITERATE,
+	.tbl_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX,
+	.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_SEQ,
+	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+	.key_start_idx = 853,
+	.blob_key_bit_size = 16,
+	.key_bit_size = 16,
+	.key_num_fields = 1,
+	.ident_start_idx = 77,
+	.ident_nums = 3
+	},
+	{ /* class_tid: 8, , table: control.hot_upgrade_cache_check */
+	.description = "control.hot_upgrade_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 = 4354,
+		.cond_nums = 1 },
 	.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
 	.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+	},
+	{ /* class_tid: 8, , table: control.decrement_priority */
+	.description = "control.decrement_priority",
+	.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 = 4355,
+		.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_SUB,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_APP_PRIO,
+		.func_src2 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr2 = BNXT_ULP_RF_IDX_HA_PRIO,
+		.func_dst_opr = BNXT_ULP_RF_IDX_APP_PRIO },
+	.track_type = CFA_TRACK_TYPE_SID
+	},
+	{ /* class_tid: 8, , table: control.update_wc_tcam_priority */
+	.description = "control.update_wc_tcam_priority",
+	.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 = 4355,
+		.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_TCAM_SET_PRIORITY,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+		.func_src2 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr2 = BNXT_ULP_RF_IDX_APP_PRIO,
+		.func_dst_opr = BNXT_ULP_RF_IDX_CC }
+	},
+	{ /* class_tid: 8, , table: control.inc_table_index */
+	.description = "control.inc_table_index",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+	.direction = TF_DIR_RX,
+	.execute_info = {
+		.cond_true_goto  = -4,
+		.cond_false_goto = 0,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+		.cond_start_idx = 4355,
+		.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_ADD,
+		.func_oper_size = 16,
+		.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+		.func_opr1 = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX,
+		.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+		.func_opr2 = 1,
+		.func_dst_opr = BNXT_ULP_RF_IDX_GENERIC_TBL_INDEX }
 	}
 };
 
 struct bnxt_ulp_mapper_cond_list_info ulp_thor2_class_cond_oper_list[] = {
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	/* cond_execute: class_tid: 1, control.srv6_check:0*/
 	{
-		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
 		.cond_start_idx = 0,
+		.cond_nums = 1
+	},
+	/* cond_execute: class_tid: 1, control.srv6_valid_check:1*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 1,
+		.cond_nums = 3
+	},
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_start_idx = 4,
 		.cond_nums = 3
 	},
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 7,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 3,
+		.cond_start_idx = 9,
 		.cond_nums = 2
 	},
-	/* cond_execute: class_tid: 1, control.vxlan_ip_check:0*/
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 5,
+		.cond_start_idx = 11,
 		.cond_nums = 3
 	},
-	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/
+	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:25*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 17,
+		.cond_start_idx = 25,
 		.cond_nums = 2
 	},
-	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/
+	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:27*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 19,
+		.cond_start_idx = 27,
 		.cond_nums = 2
 	},
-	/* cond_execute: class_tid: 1, control.check_tunnel_recycle:35*/
+	/* cond_execute: class_tid: 1, control.check_tunnel_recycle:44*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 35,
+		.cond_start_idx = 44,
 		.cond_nums = 3
 	},
-	/* cond_execute: class_tid: 1, control.l2_only_check:114*/
+	/* cond_execute: class_tid: 1, l2_cntxt_tcam.allocate_l2_context:124*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 114,
-		.cond_nums = 5
+		.cond_start_idx = 124,
+		.cond_nums = 3
 	},
-	/* cond_execute: class_tid: 1, control.l2_only_check:114*/
+	/* cond_execute: class_tid: 1, global_identifier_app_table.allocate_l2_context:127*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 119,
-		.cond_nums = 5
+		.cond_start_idx = 127,
+		.cond_nums = 3
 	},
-	/* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:124*/
+	/* cond_execute: class_tid: 1, control.l2_only_check:143*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 124,
+		.cond_start_idx = 143,
 		.cond_nums = 5
 	},
-	/* cond_execute: class_tid: 2, control.l2_only_check:2125*/
+	/* cond_execute: class_tid: 1, control.l2_only_check:143*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2125,
+		.cond_start_idx = 148,
 		.cond_nums = 5
 	},
-	/* cond_execute: class_tid: 2, control.l2_only_check:2125*/
+	/* cond_execute: class_tid: 1, control.tunnel_ipv6_sip_check:153*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2130,
+		.cond_start_idx = 153,
 		.cond_nums = 5
 	},
-	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/
+	/* cond_execute: class_tid: 1, profile_tcam.allocate_wc_profile:175*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2135,
-		.cond_nums = 5
+		.cond_start_idx = 175,
+		.cond_nums = 1
 	},
-	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/
+	/* cond_execute: class_tid: 1, global_identifier_app_table.allocate_wc_profile:176*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2140,
-		.cond_nums = 5
+		.cond_start_idx = 176,
+		.cond_nums = 1
 	},
-	/* cond_execute: class_tid: 2, control.check_tunnel_recycle:2145*/
+	/* cond_execute: class_tid: 1, profile_tcam.allocate_em_profile:554*/
 	{
 		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
-		.cond_start_idx = 2145,
-		.cond_nums = 2
-	}
-};
-
-struct bnxt_ulp_mapper_cond_info ulp_thor2_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_start_idx = 554,
+		.cond_nums = 1
 	},
+	/* cond_execute: class_tid: 1, global_identifier_app_table.allocate_em_profile:555*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_F1
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 555,
+		.cond_nums = 1
+	},
+	/* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 1394,
+		.cond_nums = 4
+	},
+	/* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_start_idx = 1398,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 1, control.em_wc_check:2230*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2230,
+		.cond_nums = 3
+	},
+	/* cond_execute: class_tid: 1, control.em_wc_check:2230*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_start_idx = 2233,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 1, control.process_wc_priority:2243*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2243,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 2, control.l2_only_check:2246*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2246,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 2, control.l2_only_check:2246*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2251,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2256,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2261,
+		.cond_nums = 5
+	},
+	/* cond_execute: class_tid: 2, control.check_tunnel_recycle:2266*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 2266,
+		.cond_nums = 2
+	},
+	/* cond_execute: class_tid: 3, profile_tcam_bypass.allocate_prof_func:4333*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4333,
+		.cond_nums = 1
+	},
+	/* cond_execute: class_tid: 3, global_identifier_app_table.allocate_prof_func:4334*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+		.cond_start_idx = 4334,
+		.cond_nums = 1
+	},
+	/* cond_execute: class_tid: 8, control.check_hot_upgrade:4352*/
+	{
+		.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+		.cond_start_idx = 4352,
+		.cond_nums = 2
+	}
+};
+
+struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
+	/* cond_execute: class_tid: 1, control.srv6_check:0*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* cond_execute: class_tid: 1, control.srv6_valid_check:1*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	{
+	.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_I_ETH
+	},
+	/* cond_execute: class_tid: 1, control.vxlan_ip_check:4*/
+	{
+	.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_execute: class_tid: 1, control.vxlan_ip_check:4*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	{
+	.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:4*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
@@ -3954,7 +5137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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_execute: class_tid: 1, control.vxlan_ip_check:4*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
@@ -3967,7 +5150,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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_execute: class_tid: 1, tunnel_gparse_cache.dynupar_tunnel_rd:14*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* cond_execute: class_tid: 1, control.dynupar_tunnel:15*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:16*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
@@ -3976,7 +5169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
 	},
-	/* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:10*/
+	/* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:18*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
@@ -3985,7 +5178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:12*/
+	/* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_rd:20*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
@@ -3998,17 +5191,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* cond_execute: class_tid: 1, control.custom_tunnel:15*/
+	/* cond_execute: class_tid: 1, control.custom_tunnel:23*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: class_tid: 1, control.custom_tunnel_port_check_value:16*/
+	/* cond_execute: class_tid: 1, control.custom_tunnel_port_check_value:24*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_CC
 	},
-	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:17*/
+	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_port:25*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_VXLAN_PORT
@@ -4017,7 +5210,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:19*/
+	/* cond_execute: class_tid: 1, cust_tunnel.configure_vxlan_ip_port:27*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_VXLAN_PORT
@@ -4026,12 +5219,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* cond_execute: class_tid: 1, cust_tunnel.configure_geneve_port:21*/
+	/* cond_execute: class_tid: 1, cust_tunnel.configure_geneve_port:29*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_DYNAMIC_GENEVE_PORT
 	},
-	/* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:22*/
+	/* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:30*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
@@ -4040,7 +5233,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:24*/
+	/* field_cond: class_tid: 1, tunnel_gparse_cache.custom_tunnel_wr:32*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
@@ -4053,7 +5246,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
 	},
-	/* cond_execute: class_tid: 1, control.check_f1_f2_flow:27*/
+	/* cond_execute: class_tid: 1, control.l2_cntxt_tcam_miss:35*/
+	{
+	.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_f1_f2_flow:36*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F1
@@ -4062,17 +5260,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F2
 	},
-	/* cond_execute: class_tid: 1, control.tunnel_cache_check:29*/
+	/* cond_execute: class_tid: 1, control.tunnel_cache_check:38*/
 	{
 	.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_f2_flow:30*/
+	/* cond_execute: class_tid: 1, control.check_f2_flow:39*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F2
 	},
-	/* field_cond: class_tid: 1, control.dmac_calculation:31*/
+	/* field_cond: class_tid: 1, control.dmac_calculation:40*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4081,17 +5279,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.dmac_calculation:33*/
+	/* field_cond: class_tid: 1, control.dmac_calculation:42*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_PORT_DMAC
 	},
-	/* field_cond: class_tid: 1, control.dmac_calculation:34*/
+	/* field_cond: class_tid: 1, control.dmac_calculation:43*/
 	{
 	.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, control.check_tunnel_recycle:44*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -4104,7 +5302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:47*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY
@@ -4113,7 +5311,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:49*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4122,7 +5320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:51*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4131,7 +5329,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:53*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4140,7 +5338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:55*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4149,7 +5347,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:57*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4158,7 +5356,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:59*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4167,7 +5365,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:61*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4176,7 +5374,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:63*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4185,7 +5383,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:65*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4194,7 +5392,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:67*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4203,7 +5401,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:69*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -4212,7 +5410,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:71*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -4221,12 +5419,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:73*/
 	{
 	.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:74*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4235,7 +5433,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:76*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4244,7 +5442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:78*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4253,7 +5451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:80*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -4262,7 +5460,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:82*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4271,7 +5469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:84*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4280,7 +5478,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:86*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4289,7 +5487,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:88*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -4298,7 +5496,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:90*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4307,7 +5505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:92*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4316,7 +5514,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:94*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4325,7 +5523,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:96*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -4334,7 +5532,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:98*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -4343,7 +5541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:100*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -4352,17 +5550,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:102*/
 	{
 	.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:103*/
 	{
 	.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:104*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4371,22 +5569,57 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:106*/
+	{
+	.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:107*/
+	{
+	.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:108*/
 	{
 	.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:109*/
 	{
 	.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:110*/
 	{
 	.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.l2_table_rd:100*/
+	/* cond_execute: class_tid: 1, l2_cntxt_tcam.chain_entry_dup:111*/
+	{
+	.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:112*/
+	{
+	.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_dup:113*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_RECYCLE_CNT
+	},
+	/* field_cond: class_tid: 1, flow_chain_l2_cntxt.write:114*/
+	{
+	.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:115*/
+	{
+	.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.l2_table_rd:116*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_O_DMAC
@@ -4395,12 +5628,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.l2_table_rd:102*/
+	/* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:118*/
+	{
+	.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.l2_table_rd:119*/
+	{
+	.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.l2_table_rd:120*/
 	{
 	.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.l2_table_rd:103*/
+	/* field_cond: class_tid: 1, mac_addr_cache.l2_table_rd:121*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_METADATA
@@ -4409,12 +5652,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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_check:105*/
+	/* cond_execute: class_tid: 1, control.mac_addr_cache_check:123*/
 	{
 	.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:124*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F1
@@ -4423,22 +5670,60 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.l2_table_create:108*/
+	/* cond_execute: class_tid: 1, global_identifier_app_table.allocate_l2_context:127*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_F1
+	},
+	{
+	.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.l2_table_create:130*/
 	{
 	.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.l2_table_create:109*/
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.l2_table_create:131*/
 	{
 	.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.l2_table_wr:110*/
+	/* cond_execute: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:132*/
+	{
+	.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:133*/
 	{
 	.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.l2_table_wr:111*/
+	/* field_cond: class_tid: 1, l2_cntxt_tcam.ingress_entry_dup:134*/
+	{
+	.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.l2_table_wr:135*/
+	{
+	.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.l2_table_wr:136*/
+	{
+	.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.l2_table_wr:137*/
+	{
+	.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.l2_table_wr:138*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_METADATA
@@ -4447,12 +5732,21 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.update_default_l2_context:140*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_O_DMAC
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
+	},
+	/* cond_execute: class_tid: 1, control.check_f1_flow:142*/
 	{
 	.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:143*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4473,7 +5767,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:143*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4494,7 +5788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:153*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -4515,7 +5809,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.terminating_flow:129*/
+	/* field_cond: class_tid: 1, control.terminating_flow:158*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4528,7 +5822,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:132*/
+	/* field_cond: class_tid: 1, control.terminating_flow:161*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -4541,7 +5835,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:135*/
+	/* field_cond: class_tid: 1, control.terminating_flow:164*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4550,7 +5844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:137*/
+	/* field_cond: class_tid: 1, control.terminating_flow:166*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -4559,12 +5853,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:139*/
+	/* field_cond: class_tid: 1, control.terminating_flow:168*/
 	{
 	.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:140*/
+	/* field_cond: class_tid: 1, proto_header_cache.rd:169*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4573,12 +5867,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:142*/
+	/* cond_execute: class_tid: 1, control.proto_header_cache_miss:171*/
 	{
 	.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:143*/
+	/* field_cond: class_tid: 1, hdr_overlap_cache.overlap_check:172*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4587,12 +5881,31 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:145*/
+	/* cond_execute: class_tid: 1, control.overlap_miss:174*/
 	{
 	.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:146*/
+	/* cond_execute: class_tid: 1, profile_tcam.allocate_wc_profile:175*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	/* cond_execute: class_tid: 1, global_identifier_app_table.allocate_wc_profile:176*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	/* field_cond: class_tid: 1, global_identifier_app_table.allocate_wc_profile:177*/
+	{
+	.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.wc_gen_template:179*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4601,7 +5914,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:148*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:181*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4610,7 +5923,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:150*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:183*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -4619,12 +5932,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:152*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:185*/
 	{
 	.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:153*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:186*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4641,7 +5954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:157*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:190*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4658,7 +5971,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:161*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:194*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4679,7 +5992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:166*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:199*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4700,7 +6013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:171*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:204*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4721,7 +6034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:176*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:209*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -4742,7 +6055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:181*/
+	/* 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
@@ -4763,7 +6076,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:186*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:219*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4784,7 +6097,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:191*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:224*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4805,7 +6118,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:196*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:229*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4822,12 +6135,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:200*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:233*/
 	{
 	.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:201*/
+	/* 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
@@ -4844,7 +6157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:205*/
+	/* 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
@@ -4861,7 +6174,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:209*/
+	/* 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
@@ -4878,7 +6191,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:213*/
+	/* 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
@@ -4895,7 +6208,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:217*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:250*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4912,7 +6225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:221*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:254*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4929,7 +6242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:225*/
+	/* 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_INNER_LOOP
@@ -4946,7 +6259,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:229*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:262*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4963,7 +6276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:233*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:266*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4980,7 +6293,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:237*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:270*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -4997,7 +6310,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:241*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:274*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -5014,7 +6327,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:245*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:278*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -5031,7 +6344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:249*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:282*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -5048,7 +6361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:253*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:286*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -5065,7 +6378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:257*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:290*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -5086,7 +6399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:262*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:295*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -5103,7 +6416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:266*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:299*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5116,7 +6429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:269*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:302*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5129,7 +6442,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:272*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:305*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:306*/
+	{
+	.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_OPT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY
+	},
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:309*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5146,7 +6477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:276*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:313*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -5159,7 +6490,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:279*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:316*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5176,7 +6507,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:283*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:320*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -5189,7 +6520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:286*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:323*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5210,7 +6541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:291*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:328*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -5227,7 +6558,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:295*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:332*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5248,7 +6579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:300*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:337*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -5269,7 +6600,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:305*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:342*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -5286,7 +6617,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:309*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:346*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -5303,7 +6634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:313*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:350*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5324,7 +6655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:318*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:355*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5341,7 +6672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:322*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:359*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5362,7 +6693,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:327*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:364*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5379,7 +6710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:331*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:368*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5400,7 +6731,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:336*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:373*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5417,7 +6748,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:340*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:377*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5438,7 +6769,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:345*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:382*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5455,7 +6786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:349*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:386*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5476,7 +6807,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:354*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:391*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5497,7 +6828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:359*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:396*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5514,7 +6845,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:363*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:400*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5531,7 +6862,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:367*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:404*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5552,7 +6883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:372*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:409*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5569,7 +6900,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:376*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:413*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5590,7 +6921,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:381*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:418*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5607,7 +6938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:385*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:422*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5628,7 +6959,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:390*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:427*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5645,7 +6976,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:394*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:431*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5666,7 +6997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:399*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:436*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5687,7 +7018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:404*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:441*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5704,7 +7035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:408*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:445*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5721,7 +7052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:412*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:449*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5742,7 +7073,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:417*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:454*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5763,7 +7094,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:422*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:459*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5780,7 +7111,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:426*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:463*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5797,7 +7128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:430*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:467*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5814,7 +7145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:434*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:471*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5831,7 +7162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:438*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:475*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5844,7 +7175,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:441*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:478*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5857,7 +7188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:444*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:481*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5878,7 +7209,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:449*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:486*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5899,7 +7230,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:454*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:491*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5916,7 +7247,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:458*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:495*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5933,7 +7264,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:462*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:499*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5954,7 +7285,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:467*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:504*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5975,7 +7306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:472*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:509*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -5992,7 +7323,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:476*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:513*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -6009,7 +7340,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:480*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:517*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -6018,7 +7349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:482*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:519*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
@@ -6031,12 +7362,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:485*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:522*/
 	{
 	.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:486*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:523*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -6049,7 +7380,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:489*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:526*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -6058,7 +7389,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:491*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:528*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
@@ -6071,12 +7402,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:494*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:531*/
 	{
 	.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:495*/
+	/* field_cond: class_tid: 1, fkb_select.wc_gen_template:532*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -6089,7 +7420,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:498*/
+	/* field_cond: class_tid: 1, hdr_overlap_cache.overlap_wr:535*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -6098,12 +7429,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template_alloc:500*/
+	/* cond_execute: class_tid: 1, fkb_select.em_gen_template_alloc:537*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_TERM_FLOW
 	},
-	/* field_cond: class_tid: 1, control.profile_tcam_priority:501*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:538*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6112,7 +7443,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.profile_tcam_priority:503*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:540*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6121,7 +7452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.profile_tcam_priority:505*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:542*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6130,7 +7461,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.profile_tcam_priority:507*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:544*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6139,7 +7470,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.profile_tcam_priority:509*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:546*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6148,7 +7479,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, control.profile_tcam_priority:511*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:548*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6157,7 +7488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, control.profile_tcam_priority:513*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:550*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6166,7 +7497,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, control.profile_tcam_priority:515*/
+	/* field_cond: class_tid: 1, control.profile_tcam_priority:552*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6175,43 +7506,26 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:517*/
-	{
-	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
-	},
+	/* cond_execute: class_tid: 1, profile_tcam.allocate_em_profile:554*/
 	{
-	.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:519*/
-	{
-	.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_INSTANCE
 	},
+	/* cond_execute: class_tid: 1, global_identifier_app_table.allocate_em_profile:555*/
 	{
-	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
-	.cond_operand = BNXT_ULP_HDR_BIT_O_TCP
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:521*/
+	/* field_cond: class_tid: 1, global_identifier_app_table.allocate_em_profile:556*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
-	.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:523*/
-	{
-	.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_UDP
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:525*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:558*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6220,7 +7534,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:527*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:560*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6229,7 +7543,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:529*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:562*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6238,7 +7552,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:531*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:564*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6247,7 +7561,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:533*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:566*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6256,7 +7570,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:535*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:568*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6265,7 +7579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:537*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:570*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6274,7 +7588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:539*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:572*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6283,7 +7597,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:541*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:574*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6292,7 +7606,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:543*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:576*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:578*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6301,7 +7624,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:545*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:580*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6310,7 +7633,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:547*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:582*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:584*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6319,7 +7651,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:549*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:586*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6328,7 +7660,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:551*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:588*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:590*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6337,7 +7678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:553*/
+	/* 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
@@ -6346,7 +7687,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:555*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:594*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:596*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6355,7 +7705,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:557*/
+	/* 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
@@ -6364,7 +7714,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:559*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:600*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6373,7 +7723,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:561*/
+	/* 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
@@ -6382,7 +7732,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:563*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:604*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6391,7 +7741,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:565*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:606*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6400,7 +7750,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:567*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:608*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6409,7 +7759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:569*/
+	/* 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
@@ -6418,7 +7768,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:571*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:612*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6427,7 +7777,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:573*/
+	/* 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
@@ -6436,7 +7786,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:575*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:616*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:618*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6445,7 +7804,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:577*/
+	/* 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
@@ -6454,7 +7813,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:579*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:622*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:624*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6463,7 +7831,61 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:581*/
+	/* 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_I_TCP
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:628*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:630*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_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:632*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.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:634*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:636*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_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, profile_tcam.gen_template:638*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6472,7 +7894,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:583*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:640*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6481,7 +7903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:585*/
+	/* 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
@@ -6490,7 +7912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:587*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:644*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6499,7 +7921,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:589*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:646*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.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_GRE
+	},
+	/* 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
@@ -6508,7 +7939,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:591*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:650*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6517,7 +7948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:593*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:652*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6526,7 +7957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:595*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:654*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6535,7 +7966,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:597*/
+	/* 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_IS_TUNNEL
+	},
+	{
+	.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:658*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6544,7 +7984,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:599*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:660*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:662*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6553,7 +8002,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:601*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:664*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6562,7 +8011,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:603*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:666*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:668*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6571,7 +8029,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:605*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:670*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6580,7 +8038,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:607*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:672*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:674*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6589,7 +8056,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:609*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:676*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6598,7 +8065,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:611*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:678*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:680*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6607,7 +8083,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:613*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:682*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6616,7 +8092,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:615*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:684*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6625,7 +8101,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:617*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:686*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6634,7 +8110,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:619*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:688*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6643,7 +8119,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:621*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:690*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6652,7 +8128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:623*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:692*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6661,7 +8137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:625*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:694*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6670,7 +8146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:627*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:696*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6679,7 +8155,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:629*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:698*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6688,7 +8164,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:631*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:700*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:702*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6697,7 +8182,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:633*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:704*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:706*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6706,7 +8200,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:635*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:708*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6715,7 +8209,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:637*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:710*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6724,7 +8218,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:639*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:712*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:714*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6733,7 +8236,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:641*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:716*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:718*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6742,7 +8254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:643*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:720*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6751,7 +8263,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:645*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:722*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6764,7 +8276,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_II_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:648*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:725*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6777,7 +8289,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:651*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:728*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6790,7 +8302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:654*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:731*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6803,17 +8315,35 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:657*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:734*/
 	{
 	.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:658*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:735*/
 	{
 	.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:659*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:736*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.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
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:738*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
+	.cond_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: 1, profile_tcam.gen_template:740*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6822,7 +8352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:661*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:742*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6831,7 +8361,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:663*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:744*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6840,7 +8370,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:665*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:746*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:748*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6849,7 +8388,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:667*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:750*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.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_GRE
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:752*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6858,7 +8406,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:669*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:754*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:756*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6867,7 +8424,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:671*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:758*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.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_GRE
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:760*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6880,7 +8446,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:674*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:763*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6893,7 +8459,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:677*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:766*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6902,7 +8468,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:679*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:768*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6911,7 +8477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:681*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:770*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6920,7 +8486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:683*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:772*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6929,7 +8495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:685*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:774*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6938,7 +8504,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:687*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:776*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_DYN_UPAR_TUN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:777*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6951,7 +8522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:690*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:780*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6964,7 +8535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:693*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:783*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6973,7 +8544,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:695*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:785*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6982,7 +8553,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:697*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:787*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -6991,7 +8562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:699*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:789*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7000,7 +8571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:701*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:791*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7009,22 +8580,27 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_UPAR2
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:703*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:793*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_DYN_UPAR_TUN
+	},
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:794*/
 	{
 	.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:704*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:795*/
 	{
 	.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:705*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:796*/
 	{
 	.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:706*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:797*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7033,7 +8609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:708*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:799*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7042,7 +8618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:710*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:801*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7051,7 +8627,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:712*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:803*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7060,7 +8636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:714*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:805*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7069,7 +8645,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:716*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:807*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7078,7 +8654,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:718*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:809*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7087,7 +8663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:720*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:811*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7096,7 +8672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:722*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:813*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7105,7 +8681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:724*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:815*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7114,7 +8690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:726*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:817*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7123,7 +8699,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:728*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:819*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7132,7 +8708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:730*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:821*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7141,7 +8717,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:732*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:823*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7150,12 +8726,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:734*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:825*/
 	{
 	.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:735*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:826*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7164,7 +8740,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:737*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:828*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7173,12 +8749,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, profile_tcam.gen_template:739*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:830*/
 	{
 	.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:740*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:831*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7187,7 +8763,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:742*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:833*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7196,7 +8772,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:744*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:835*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7205,7 +8781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:746*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:837*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7214,7 +8790,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:748*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:839*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7223,7 +8799,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:750*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:841*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7232,7 +8808,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:752*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:843*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7241,7 +8817,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:754*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:845*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7250,7 +8826,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:756*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:847*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7259,7 +8835,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:758*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:849*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7268,7 +8844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 1, profile_tcam.gen_template:760*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:851*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7281,7 +8857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:763*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:854*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7294,17 +8870,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:766*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:857*/
 	{
 	.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:767*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:858*/
 	{
 	.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:768*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:859*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7313,7 +8889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:770*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:861*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -7322,7 +8898,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_F2
 	},
-	/* field_cond: class_tid: 1, profile_tcam.gen_template:772*/
+	/* field_cond: class_tid: 1, profile_tcam.gen_template:863*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -7331,7 +8907,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:774*/
+	/* 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_INNER_LOOP
@@ -7340,7 +8916,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:776*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:867*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7349,7 +8925,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:778*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:869*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -7358,7 +8934,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:780*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:871*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -7367,17 +8943,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:782*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:873*/
 	{
 	.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:783*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:874*/
 	{
 	.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:784*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:875*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7394,7 +8970,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:788*/
+	/* 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_INNER_LOOP
@@ -7411,7 +8987,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:792*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:883*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7428,7 +9004,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:796*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:887*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7445,7 +9021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:800*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:891*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7466,7 +9042,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:805*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:896*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7487,7 +9063,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:810*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:901*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7508,7 +9084,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:815*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:906*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7529,7 +9105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:820*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:911*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7550,7 +9126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:825*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:916*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7571,7 +9147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:830*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:921*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -7592,7 +9168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:835*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:926*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -7613,7 +9189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:840*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:931*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7630,7 +9206,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:844*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:935*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7647,7 +9223,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:848*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:939*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7664,12 +9240,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:852*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:943*/
 	{
 	.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:853*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:944*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7686,12 +9262,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:857*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:948*/
 	{
 	.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:858*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:949*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7708,7 +9284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:862*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:953*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7725,7 +9301,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:866*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:957*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7742,7 +9318,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:870*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:961*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7759,7 +9335,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:874*/
+	/* 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_INNER_LOOP
@@ -7776,7 +9352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:878*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:969*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7793,7 +9369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:882*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:973*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7810,7 +9386,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:886*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:977*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7827,7 +9403,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:890*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:981*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7844,7 +9420,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:894*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:985*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7861,7 +9437,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:898*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:989*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7878,7 +9454,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:902*/
+	/* 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_INNER_LOOP
@@ -7895,7 +9471,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:906*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:997*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7912,7 +9488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:910*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1001*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7929,7 +9505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:914*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1005*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7946,7 +9522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:918*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1009*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7963,7 +9539,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:922*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1013*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7980,7 +9556,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:926*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1017*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -7997,7 +9573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:930*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1021*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -8014,7 +9590,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:934*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1025*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -8031,7 +9607,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:938*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1029*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -8052,7 +9628,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:943*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1034*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -8069,7 +9645,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:947*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1038*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -8090,7 +9666,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:952*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1043*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -8107,7 +9683,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:956*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1047*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8120,7 +9696,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:959*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1050*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8133,7 +9709,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:962*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1053*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8146,7 +9722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:965*/
+	/* 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
@@ -8159,7 +9735,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:968*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1059*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1060*/
+	{
+	.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_OPT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1063*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1064*/
+	{
+	.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_OPT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_WC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY
+	},
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1067*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8176,7 +9788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:972*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1071*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8189,7 +9801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:975*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1074*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8206,7 +9818,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:979*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1078*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8219,7 +9831,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:982*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1081*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8236,7 +9848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:986*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1085*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8249,7 +9861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:989*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1088*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8266,7 +9878,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:993*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1092*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8279,7 +9891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:996*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1095*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8300,7 +9912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1001*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1100*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8317,7 +9929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1005*/
+	/* 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
@@ -8338,7 +9950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1010*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1109*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8355,7 +9967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1014*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1113*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8376,7 +9988,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1019*/
+	/* 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
@@ -8397,7 +10009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1024*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1123*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8414,7 +10026,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1028*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1127*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8431,7 +10043,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1032*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1131*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8452,7 +10064,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1037*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1136*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8473,7 +10085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1042*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1141*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8490,7 +10102,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1046*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1145*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8507,7 +10119,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1050*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1149*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -8528,7 +10140,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1055*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1154*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -8545,7 +10157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1059*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1158*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -8566,7 +10178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1064*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1163*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -8583,7 +10195,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1068*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1167*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8600,7 +10212,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1072*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1171*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8613,7 +10225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1075*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1174*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8630,7 +10242,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1079*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1178*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8643,7 +10255,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1082*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1181*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8660,7 +10272,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1086*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1185*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8673,7 +10285,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1089*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1188*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8690,7 +10302,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1093*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1192*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8703,7 +10315,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1096*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1195*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8720,7 +10332,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1100*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1199*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8733,7 +10345,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1103*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1202*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8750,7 +10362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1107*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1206*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8763,7 +10375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1110*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1209*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8780,7 +10392,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1114*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1213*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8793,7 +10405,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1117*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1216*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8810,7 +10422,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1121*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1220*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8823,7 +10435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1124*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1223*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8840,7 +10452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1128*/
+	/* 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
@@ -8857,7 +10469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1132*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1231*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8870,7 +10482,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1135*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1234*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8883,7 +10495,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1138*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1237*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8900,7 +10512,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1142*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1241*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8917,7 +10529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1146*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1245*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8930,7 +10542,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1149*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1248*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8943,7 +10555,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1152*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1251*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8956,7 +10568,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1155*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1254*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -8969,7 +10581,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1158*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1257*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8978,7 +10590,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1160*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1259*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -8987,7 +10599,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1162*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1261*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9004,7 +10616,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1166*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1265*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9021,7 +10633,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1170*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1269*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9034,7 +10646,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1173*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1272*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9047,7 +10659,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1176*/
+	/* 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
@@ -9060,7 +10672,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1179*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1278*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9073,7 +10685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1182*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1281*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9082,7 +10694,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1184*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1283*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9091,7 +10703,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1186*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1285*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9108,7 +10720,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1190*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1289*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9125,7 +10737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1194*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1293*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9138,7 +10750,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1197*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1296*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9151,7 +10763,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1200*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1299*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9168,7 +10780,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1204*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1303*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9185,7 +10797,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1208*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1307*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9198,7 +10810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1211*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1310*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9211,7 +10823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1214*/
+	/* 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
@@ -9228,7 +10840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1218*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1317*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9245,7 +10857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1222*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1321*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9258,7 +10870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1225*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1324*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9271,7 +10883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1228*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1327*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9288,7 +10900,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1232*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1331*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9305,7 +10917,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1236*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1335*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9318,7 +10930,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1239*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1338*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9331,7 +10943,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1242*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1341*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9340,7 +10952,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1244*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1343*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9357,7 +10969,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1248*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1347*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9374,7 +10986,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1252*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1351*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9387,7 +10999,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1255*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1354*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9400,7 +11012,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1258*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1357*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9409,7 +11021,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1260*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1359*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9426,7 +11038,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, wm_key_recipe.0:1264*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1363*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9443,7 +11055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1268*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1367*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9456,7 +11068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1271*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1370*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9469,7 +11081,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1274*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1373*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9478,7 +11090,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1276*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1375*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9495,7 +11107,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, wm_key_recipe.0:1280*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1379*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9512,7 +11124,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1284*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1383*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9525,7 +11137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1287*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1386*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -9538,7 +11150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:1290*/
+	/* field_cond: class_tid: 1, wm_key_recipe.0:1389*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -9547,7 +11159,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
 	},
-	/* field_cond: class_tid: 1, proto_header_cache.wr:1292*/
+	/* cond_execute: class_tid: 1, control.outer_present_mode_2:1391*/
+	{
+	.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.wr:1392*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -9556,7 +11173,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_flow_conflict_cache.rd:1294*/
+	/* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
@@ -9573,7 +11190,16 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1298*/
+	/* cond_execute: class_tid: 1, em_flow_conflict_cache.rd:1394*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	/* field_cond: class_tid: 1, em_flow_conflict_cache.rd:1400*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -9582,12 +11208,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.em_flow_conflict_cache_miss:1300*/
+	/* cond_execute: class_tid: 1, control.em_flow_conflict_cache_miss:1402*/
 	{
 	.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.em_gen_template:1301*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1403*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9596,7 +11222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.em_gen_template:1303*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1405*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -9605,7 +11231,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.em_gen_template:1305*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1407*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -9614,12 +11240,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.em_gen_template:1307*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1409*/
 	{
 	.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:1308*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1410*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9640,7 +11266,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1313*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1415*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9657,7 +11283,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1317*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1419*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9678,7 +11304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1322*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1424*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9699,7 +11325,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1327*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1429*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9720,7 +11346,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1332*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1434*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -9741,7 +11367,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1337*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1439*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9758,7 +11384,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1341*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1443*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9775,7 +11401,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1345*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1447*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9792,7 +11418,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1349*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1451*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9809,7 +11435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1353*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1455*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9826,7 +11452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1357*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1459*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9843,7 +11469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1361*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1463*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9860,7 +11486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1365*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1467*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9877,7 +11503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1369*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1471*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9894,7 +11520,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1373*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1475*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9911,7 +11537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1377*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1479*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9928,7 +11554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1381*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1483*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9945,7 +11571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1385*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1487*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9962,7 +11588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1389*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1491*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9979,7 +11605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1393*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1495*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -9996,7 +11622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1397*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1499*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -10013,7 +11639,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1401*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1503*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -10030,7 +11656,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1405*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1507*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -10047,7 +11673,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1409*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1511*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -10068,7 +11694,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1414*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1516*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -10085,7 +11711,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1418*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1520*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10098,7 +11724,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1421*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1523*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10111,7 +11737,25 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1424*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1526*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1527*/
+	{
+	.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_OPT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY
+	},
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1530*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10132,7 +11776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1429*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1535*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10149,7 +11793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1433*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1539*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10166,7 +11810,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1437*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1543*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10179,7 +11823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1440*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1546*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10200,7 +11844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1445*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1551*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10217,7 +11861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1449*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1555*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10238,7 +11882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1454*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1560*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10259,7 +11903,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1459*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1565*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10276,7 +11920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1463*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1569*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10293,7 +11937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1467*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1573*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -10314,7 +11958,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1472*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1578*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -10331,7 +11975,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1476*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1582*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10348,7 +11992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 1, fkb_select.em_gen_template:1480*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1586*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10361,7 +12005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1483*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1589*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10378,7 +12022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 1, fkb_select.em_gen_template:1487*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1593*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10391,7 +12035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1490*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1596*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10408,7 +12052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 1, fkb_select.em_gen_template:1494*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1600*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10421,7 +12065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1497*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1603*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10438,7 +12082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 1, fkb_select.em_gen_template:1501*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1607*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10455,7 +12099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1505*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1611*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10468,7 +12112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1508*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1614*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10481,7 +12125,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1511*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1617*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10498,7 +12142,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1515*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1621*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10511,7 +12155,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1518*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1624*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10528,7 +12172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1522*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1628*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10541,7 +12185,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1525*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1631*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10558,7 +12202,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1529*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1635*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10571,7 +12215,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1532*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1638*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10588,7 +12232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1536*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1642*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10605,7 +12249,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1540*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1646*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10618,7 +12262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1543*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1649*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10631,7 +12275,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1546*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1652*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10648,7 +12292,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1550*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1656*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10665,7 +12309,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1554*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1660*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10678,7 +12322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1557*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1663*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10691,7 +12335,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1560*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1666*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10708,7 +12352,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1564*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1670*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10725,7 +12369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1568*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1674*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10738,7 +12382,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1571*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1677*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10751,7 +12395,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1574*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1680*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10768,7 +12412,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1578*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1684*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10785,7 +12429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1582*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1688*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10798,7 +12442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1585*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1691*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10811,7 +12455,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1588*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1694*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10828,7 +12472,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1592*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1698*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10845,7 +12489,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1596*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1702*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10858,7 +12502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:1599*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1705*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10871,7 +12515,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1602*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1708*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10888,7 +12532,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1606*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1712*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -10905,7 +12549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1610*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1716*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10918,7 +12562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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, fkb_select.em_gen_template:1613*/
+	/* field_cond: class_tid: 1, fkb_select.em_gen_template:1719*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -10931,7 +12575,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1616*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1722*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -10940,7 +12584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1618*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1724*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -10949,7 +12593,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1620*/
+	/* 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_GROUP_ID
@@ -10958,7 +12602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1622*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1728*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -10967,17 +12611,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1624*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1730*/
 	{
 	.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:1625*/
+	/* 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_RECYCLE_CNT
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1626*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1732*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -10998,7 +12642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1631*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1737*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11019,7 +12663,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1636*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1742*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11036,7 +12680,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1640*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1746*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11053,7 +12697,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1644*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1750*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11074,7 +12718,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1649*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1755*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11095,7 +12739,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1654*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1760*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11116,7 +12760,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1659*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1765*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11137,7 +12781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1664*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1770*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11158,7 +12802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1669*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1775*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11179,7 +12823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1674*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1780*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -11200,7 +12844,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1679*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1785*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -11221,7 +12865,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1684*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1790*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11238,7 +12882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1688*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1794*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11255,7 +12899,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1692*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1798*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11272,7 +12916,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1696*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1802*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11289,7 +12933,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1700*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1806*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11306,7 +12950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1704*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1810*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11323,7 +12967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1708*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1814*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11340,7 +12984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1712*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1818*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11357,7 +13001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1716*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1822*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11374,7 +13018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1720*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1826*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11391,7 +13035,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1724*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1830*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11408,7 +13052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1728*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1834*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11425,7 +13069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1732*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1838*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11442,7 +13086,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1736*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1842*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11459,7 +13103,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1740*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1846*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11476,7 +13120,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1744*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1850*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11493,7 +13137,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:1748*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1854*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11510,7 +13154,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1752*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1858*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11527,7 +13171,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1756*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1862*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11544,7 +13188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1760*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1866*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11561,7 +13205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1764*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1870*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11578,7 +13222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1768*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1874*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11595,7 +13239,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1772*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1878*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11612,7 +13256,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1776*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1882*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11629,7 +13273,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1780*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1886*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11650,7 +13294,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1785*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1891*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11667,7 +13311,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1789*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1895*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11688,7 +13332,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1794*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1900*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -11705,7 +13349,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1798*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1904*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11718,7 +13362,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1801*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1907*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11731,7 +13375,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1804*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1910*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11744,7 +13388,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1807*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1913*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11757,7 +13401,43 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1810*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1916*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:1917*/
+	{
+	.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_OPT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:1920*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_HDR_BIT_O_SRV6
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:1921*/
+	{
+	.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_OPT
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY
+	},
+	/* field_cond: class_tid: 1, em_key_recipe.0:1924*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11778,7 +13458,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1815*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1929*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -11795,7 +13475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1819*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1933*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11816,7 +13496,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1824*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1938*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -11833,7 +13513,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1828*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1942*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11850,7 +13530,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1832*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1946*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -11863,7 +13543,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1835*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1949*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11880,7 +13560,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_I_ETH_SMAC
 	},
-	/* field_cond: class_tid: 1, em_key_recipe.0:1839*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1953*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -11893,7 +13573,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1842*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1956*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11914,7 +13594,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1847*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1961*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -11931,7 +13611,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1851*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1965*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11952,7 +13632,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1856*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1970*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -11969,7 +13649,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1860*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1974*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -11990,7 +13670,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1865*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1979*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12011,7 +13691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1870*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1984*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12028,7 +13708,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1874*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1988*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12045,7 +13725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1878*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1992*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12066,7 +13746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1883*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:1997*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12087,7 +13767,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1888*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2002*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12104,7 +13784,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1892*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2006*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12121,7 +13801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1896*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2010*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -12142,7 +13822,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1901*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2015*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -12159,7 +13839,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1905*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2019*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -12180,7 +13860,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1910*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2024*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -12197,7 +13877,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1914*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2028*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12214,7 +13894,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1918*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2032*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12227,7 +13907,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1921*/
+	/* 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_OUTER_LOOP
@@ -12244,7 +13924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1925*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2039*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12257,7 +13937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1928*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2042*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12274,7 +13954,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 1, em_key_recipe.0:1932*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2046*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12287,7 +13967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1935*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2049*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12304,7 +13984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 1, em_key_recipe.0:1939*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2053*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12317,7 +13997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1942*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2056*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12334,7 +14014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1946*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2060*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12347,7 +14027,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1949*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2063*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12364,7 +14044,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1953*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2067*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12377,7 +14057,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1956*/
+	/* 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_OUTER_LOOP
@@ -12394,7 +14074,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1960*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2074*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12407,7 +14087,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1963*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2077*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12424,7 +14104,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1967*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2081*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12437,7 +14117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:1970*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2084*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12454,7 +14134,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1974*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2088*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12471,7 +14151,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1978*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2092*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12484,7 +14164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1981*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2095*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12497,7 +14177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1984*/
+	/* 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_OUTER_LOOP
@@ -12514,7 +14194,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1988*/
+	/* 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
@@ -12531,7 +14211,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1992*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2106*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12544,7 +14224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1995*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2109*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12557,7 +14237,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:1998*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2112*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12574,7 +14254,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2002*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2116*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12591,7 +14271,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2006*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2120*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12604,7 +14284,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2009*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2123*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12617,7 +14297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2012*/
+	/* 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
@@ -12634,7 +14314,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2016*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2130*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12651,7 +14331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2020*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2134*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12664,7 +14344,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2023*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2137*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12677,7 +14357,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2026*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2140*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12694,7 +14374,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2030*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2144*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12711,7 +14391,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2034*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2148*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12724,7 +14404,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2037*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2151*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12737,7 +14417,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2040*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2154*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12754,7 +14434,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2044*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2158*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12771,7 +14451,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2048*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2162*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12784,7 +14464,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2051*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2165*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12797,7 +14477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2054*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2168*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12814,7 +14494,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2058*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2172*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12831,7 +14511,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2062*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2176*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12844,7 +14524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:2065*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2179*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12857,7 +14537,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2068*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2182*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12874,7 +14554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2072*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2186*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12891,7 +14571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2076*/
+	/* 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
@@ -12904,7 +14584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:2079*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2193*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12917,7 +14597,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2082*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2196*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12934,7 +14614,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2086*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2200*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12951,7 +14631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2090*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2204*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12964,7 +14644,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2093*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2207*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -12977,7 +14657,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2096*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2210*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -12994,7 +14674,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2100*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2214*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13011,7 +14691,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2104*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2218*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13024,7 +14704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2107*/
+	/* field_cond: class_tid: 1, em_key_recipe.0:2221*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13037,7 +14717,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2110*/
+	/* field_cond: class_tid: 1, em_flow_conflict_cache.wr:2224*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -13046,7 +14726,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.field_sig_validation:2112*/
+	/* cond_execute: class_tid: 1, control.field_sig_validation:2226*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_CC
@@ -13055,7 +14735,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2114*/
+	/* cond_execute: class_tid: 1, control.outer_loop_add_check:2228*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -13064,7 +14744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD
 	},
-	/* cond_execute: class_tid: 1, control.em_wc_check:2116*/
+	/* cond_execute: class_tid: 1, control.em_wc_check:2230*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
@@ -13077,37 +14757,68 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO
 	},
-	/* cond_execute: class_tid: 1, em_normal.ingress_generic_template:2119*/
+	/* cond_execute: class_tid: 1, control.em_wc_check:2230*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	/* cond_execute: class_tid: 1, em_normal.ingress_generic_template:2235*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 1, em_recycle.ingress_generic_template_recycle:2120*/
+	/* cond_execute: class_tid: 1, em_recycle.ingress_generic_template_recycle:2236*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 1, control.em_add_check:2121*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD
+	},
+	/* cond_execute: class_tid: 1, control.em_add_check:2238*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL
 	},
-	/* cond_execute: class_tid: 1, wm_normal.ingress_generic_template:2122*/
+	/* cond_execute: class_tid: 1, control.get_ha_priority_secondary:2239*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_CF_BIT_HOT_UP_SECONDARY
+	},
+	/* cond_execute: class_tid: 1, wm_normal.ingress_generic_template:2240*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 1, wm_recycle.ingress_generic_template_recycle:2123*/
+	/* cond_execute: class_tid: 1, wm_recycle.ingress_generic_template_recycle:2241*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 1, control.outer_loop_check:2124*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD
+	},
+	/* cond_execute: class_tid: 1, control.process_wc_priority:2243*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE
+	},
+	/* cond_execute: class_tid: 1, control.outer_loop_check:2245*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 2, control.l2_only_check:2125*/
+	/* cond_execute: class_tid: 2, control.l2_only_check:2246*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13128,7 +14839,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, control.l2_only_check:2125*/
+	/* cond_execute: class_tid: 2, control.l2_only_check:2246*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13149,7 +14860,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, control.tunnel_ipv6_sip_check:2135*/
+	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -13170,7 +14881,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR
 	},
-	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2135*/
+	/* cond_execute: class_tid: 2, control.tunnel_ipv6_sip_check:2256*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -13191,7 +14902,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
 	},
-	/* cond_execute: class_tid: 2, control.check_tunnel_recycle:2145*/
+	/* cond_execute: class_tid: 2, control.check_tunnel_recycle:2266*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -13200,7 +14911,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
-	/* cond_execute: class_tid: 2, control.multi_tunnel_check:2147*/
+	/* cond_execute: class_tid: 2, control.multi_tunnel_check:2268*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_OUTER_EM_ONLY
@@ -13209,7 +14920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2149*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2270*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -13218,7 +14929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2151*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2272*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -13227,7 +14938,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2153*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2274*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -13236,7 +14947,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2155*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2276*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -13245,7 +14956,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2157*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2278*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -13254,7 +14965,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2159*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2280*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -13263,7 +14974,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2161*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2282*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -13272,7 +14983,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2163*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2284*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -13281,7 +14992,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2165*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2286*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -13290,7 +15001,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2167*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2288*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -13299,7 +15010,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2169*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2290*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -13308,7 +15019,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2171*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2292*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -13317,7 +15028,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.rd:2173*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2294*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -13326,7 +15037,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2175*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.rd:2296*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -13335,12 +15046,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, control.multi_flow_cache_check:2177*/
+	/* cond_execute: class_tid: 2, control.multi_flow_cache_check:2298*/
 	{
 	.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:2178*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2299*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -13349,7 +15060,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2180*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2301*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -13358,7 +15069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2182*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2303*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -13367,7 +15078,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2184*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2305*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_ETH
@@ -13376,7 +15087,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2186*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2307*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -13385,7 +15096,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2188*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2309*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -13394,7 +15105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2190*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2311*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -13403,7 +15114,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2192*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2313*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
@@ -13412,7 +15123,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2194*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2315*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -13421,7 +15132,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2196*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2317*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -13430,7 +15141,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2198*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2319*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -13439,7 +15150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2200*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2321*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -13448,7 +15159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, multi_flow_tunnel_cache.wr:2202*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2323*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -13457,7 +15168,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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.wr:2204*/
+	/* field_cond: class_tid: 2, multi_flow_tunnel_cache.wr:2325*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
@@ -13466,7 +15177,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.terminating_flow:2206*/
+	/* field_cond: class_tid: 2, control.terminating_flow:2327*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13475,7 +15186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, control.terminating_flow:2208*/
+	/* field_cond: class_tid: 2, control.terminating_flow:2329*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13484,7 +15195,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.terminating_flow:2210*/
+	/* field_cond: class_tid: 2, control.terminating_flow:2331*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13493,7 +15204,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.terminating_flow:2212*/
+	/* field_cond: class_tid: 2, control.terminating_flow:2333*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -13502,17 +15213,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_UDP
 	},
-	/* cond_execute: class_tid: 2, control.group_id_check:2214*/
+	/* cond_execute: class_tid: 2, control.group_id_check:2335*/
 	{
 	.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:2215*/
+	/* cond_execute: class_tid: 2, control.flow_chain_group_id:2336*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* field_cond: class_tid: 2, proto_header_cache.rd:2216*/
+	/* field_cond: class_tid: 2, proto_header_cache.rd:2337*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -13521,12 +15232,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2218*/
+	/* cond_execute: class_tid: 2, control.proto_header_cache_miss:2339*/
 	{
 	.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:2219*/
+	/* field_cond: class_tid: 2, hdr_overlap_cache.overlap_check:2340*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -13535,12 +15246,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* cond_execute: class_tid: 2, control.overlap_miss:2221*/
+	/* cond_execute: class_tid: 2, control.overlap_miss:2342*/
 	{
 	.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.wc_gen_template:2222*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2343*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13549,7 +15260,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2224*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2345*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -13558,7 +15269,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2226*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2347*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -13567,12 +15278,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2228*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2349*/
 	{
 	.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.wc_gen_template:2229*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2350*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13589,7 +15300,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2233*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2354*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13606,7 +15317,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2237*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2358*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -13619,7 +15330,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2240*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2361*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13640,7 +15351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2245*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2366*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13661,7 +15372,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2250*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2371*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13682,7 +15393,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2255*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2376*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -13703,7 +15414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2260*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2381*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13724,7 +15435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2265*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2386*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13745,7 +15456,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2270*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2391*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13766,7 +15477,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2275*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2396*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13783,12 +15494,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2279*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2400*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
 	},
-	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2280*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2401*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13805,7 +15516,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2284*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2405*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13822,7 +15533,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2288*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2409*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13839,7 +15550,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2292*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2413*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13856,7 +15567,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2296*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2417*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13873,7 +15584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2300*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2421*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13890,7 +15601,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2304*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2425*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13907,7 +15618,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2308*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2429*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13924,7 +15635,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2312*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2433*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13941,7 +15652,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2316*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2437*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13958,7 +15669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2320*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2441*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13975,7 +15686,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2324*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2445*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -13992,7 +15703,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2328*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2449*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -14009,7 +15720,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2332*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2453*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -14026,7 +15737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2336*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2457*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -14047,7 +15758,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2341*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2462*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -14064,7 +15775,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2345*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2466*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -14077,7 +15788,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2348*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2469*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -14090,7 +15801,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2351*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2472*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -14107,7 +15818,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2355*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2476*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14120,7 +15831,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2358*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2479*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -14137,7 +15848,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2362*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2483*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14150,7 +15861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2365*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2486*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -14171,7 +15882,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2370*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2491*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14188,7 +15899,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2374*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2495*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -14209,7 +15920,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2379*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2500*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -14230,7 +15941,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2384*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2505*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14247,7 +15958,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2388*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2509*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -14264,7 +15975,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2392*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2513*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14285,7 +15996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2397*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2518*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14302,7 +16013,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2401*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2522*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14323,7 +16034,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2406*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2527*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14340,7 +16051,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2410*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2531*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14361,7 +16072,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2415*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2536*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14378,7 +16089,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2419*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2540*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14399,7 +16110,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2424*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2545*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14416,7 +16127,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2428*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2549*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14437,7 +16148,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2433*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2554*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14458,7 +16169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2438*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2559*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14475,7 +16186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2442*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2563*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14492,7 +16203,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2446*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2567*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14513,7 +16224,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2451*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2572*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14530,7 +16241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2455*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2576*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14551,7 +16262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2460*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2581*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14568,7 +16279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2464*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2585*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14589,7 +16300,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2469*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2590*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14606,7 +16317,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2473*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2594*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14627,7 +16338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2478*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2599*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14648,7 +16359,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2483*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2604*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14665,7 +16376,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2487*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2608*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14682,7 +16393,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2491*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2612*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14703,7 +16414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2496*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2617*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14724,7 +16435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2501*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2622*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14741,7 +16452,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2505*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2626*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14758,7 +16469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2509*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2630*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14775,7 +16486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2513*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2634*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14792,7 +16503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2517*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2638*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14805,7 +16516,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2520*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2641*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14818,7 +16529,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.wc_gen_template:2523*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2644*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14839,7 +16550,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2528*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2649*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14860,7 +16571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2533*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2654*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14877,7 +16588,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2537*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2658*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14894,7 +16605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2541*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2662*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14915,7 +16626,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2546*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2667*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14936,7 +16647,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2551*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2672*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14953,7 +16664,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2555*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2676*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -14970,7 +16681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2559*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2680*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -14979,7 +16690,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2561*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2682*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
@@ -14992,12 +16703,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2564*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2685*/
 	{
 	.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:2565*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2686*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -15010,7 +16721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2568*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2689*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -15019,7 +16730,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2570*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2691*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_IPV4
@@ -15032,12 +16743,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.wc_gen_template:2573*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2694*/
 	{
 	.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:2574*/
+	/* field_cond: class_tid: 2, fkb_select.wc_gen_template:2695*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
@@ -15050,7 +16761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, hdr_overlap_cache.overlap_wr:2577*/
+	/* field_cond: class_tid: 2, hdr_overlap_cache.overlap_wr:2698*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -15059,12 +16770,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
 	},
-	/* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:2579*/
+	/* cond_execute: class_tid: 2, fkb_select.em_gen_template_alloc:2700*/
 	{
 	.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:2580*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:2701*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15073,7 +16784,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.profile_tcam_priority:2582*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:2703*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15082,7 +16793,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.profile_tcam_priority:2584*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:2705*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15091,7 +16802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, control.profile_tcam_priority:2586*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:2707*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15100,7 +16811,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.profile_tcam_priority:2588*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:2709*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15109,7 +16820,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.profile_tcam_priority:2590*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:2711*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15118,7 +16829,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2592*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:2713*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15127,7 +16838,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, control.profile_tcam_priority:2594*/
+	/* field_cond: class_tid: 2, control.profile_tcam_priority:2715*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15136,7 +16847,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2596*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2717*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15145,7 +16856,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, profile_tcam.gen_template:2598*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2719*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15154,7 +16865,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2600*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2721*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15163,7 +16874,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2602*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2723*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15172,7 +16883,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2604*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2725*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15181,7 +16892,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, profile_tcam.gen_template:2606*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2727*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15190,7 +16901,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2608*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2729*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15199,7 +16910,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2610*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2731*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15208,7 +16919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2612*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2733*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15217,7 +16928,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, profile_tcam.gen_template:2614*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2735*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15226,7 +16937,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2616*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2737*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15235,7 +16946,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2618*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2739*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15244,7 +16955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2620*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2741*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15253,7 +16964,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, profile_tcam.gen_template:2622*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2743*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15262,7 +16973,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2624*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2745*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15271,7 +16982,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2626*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2747*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15280,7 +16991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2628*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2749*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15289,7 +17000,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, profile_tcam.gen_template:2630*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2751*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15298,7 +17009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2632*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2753*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15307,7 +17018,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2634*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2755*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15316,7 +17027,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2636*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2757*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15325,7 +17036,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, profile_tcam.gen_template:2638*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2759*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15334,7 +17045,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2640*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2761*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15343,7 +17054,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2642*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2763*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15352,7 +17063,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2644*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2765*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15361,7 +17072,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, profile_tcam.gen_template:2646*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2767*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15370,7 +17081,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2648*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2769*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15379,7 +17090,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2650*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2771*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15388,7 +17099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2652*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2773*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15397,7 +17108,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, profile_tcam.gen_template:2654*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2775*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15406,7 +17117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2656*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2777*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15415,7 +17126,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2658*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2779*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15424,7 +17135,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2660*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2781*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15433,7 +17144,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2662*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2783*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15442,7 +17153,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2664*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2785*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15451,7 +17162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2666*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2787*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15460,7 +17171,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2668*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2789*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15469,7 +17180,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2670*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2791*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15478,7 +17189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2672*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2793*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15487,7 +17198,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2674*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2795*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15496,7 +17207,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2676*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2797*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15505,7 +17216,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2678*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2799*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15514,7 +17225,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2680*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2801*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15523,7 +17234,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2682*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2803*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15532,7 +17243,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2684*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2805*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15541,7 +17252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2686*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2807*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15550,7 +17261,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2688*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2809*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15559,7 +17270,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2690*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2811*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15568,7 +17279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2692*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2813*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15577,7 +17288,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2694*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2815*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15586,7 +17297,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2696*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2817*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15595,7 +17306,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2698*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2819*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15604,7 +17315,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2700*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2821*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15613,7 +17324,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2702*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2823*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15622,7 +17333,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2704*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2825*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15631,7 +17342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2706*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2827*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15640,7 +17351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2708*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2829*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15649,7 +17360,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2710*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2831*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15658,7 +17369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2712*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2833*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15667,7 +17378,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2714*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2835*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15676,7 +17387,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2716*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2837*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15685,7 +17396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2718*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2839*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15694,7 +17405,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2720*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2841*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15703,7 +17414,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2722*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2843*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15712,7 +17423,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2724*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2845*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15725,7 +17436,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2727*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2848*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15738,7 +17449,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2730*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2851*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15751,7 +17462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_IO_VLAN
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2733*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2854*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15764,17 +17475,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2736*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2857*/
 	{
 	.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:2737*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2858*/
 	{
 	.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:2738*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2859*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15783,7 +17494,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2740*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2861*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15792,7 +17503,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2742*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2863*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15801,7 +17512,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2744*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2865*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15810,7 +17521,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2746*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2867*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15819,7 +17530,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_I_ETH
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2748*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2869*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15828,7 +17539,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2750*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2871*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15837,7 +17548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2752*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2873*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15846,7 +17557,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2754*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2875*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15855,7 +17566,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2756*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2877*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15864,7 +17575,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2758*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2879*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15873,7 +17584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2760*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2881*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15882,7 +17593,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2762*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2883*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15891,7 +17602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2764*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2885*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15900,7 +17611,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2766*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2887*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15909,7 +17620,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2768*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2889*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15918,7 +17629,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2770*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2891*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15927,7 +17638,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2772*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2893*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15936,22 +17647,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2774*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2895*/
 	{
 	.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:2775*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2896*/
 	{
 	.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:2776*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2897*/
 	{
 	.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:2777*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2898*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15960,7 +17671,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2779*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2900*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15969,7 +17680,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2781*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2902*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15978,7 +17689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2783*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2904*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15987,7 +17698,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2785*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2906*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -15996,7 +17707,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2787*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2908*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16005,7 +17716,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2789*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2910*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16014,7 +17725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2791*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2912*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16023,7 +17734,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2793*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2914*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16032,7 +17743,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2795*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2916*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16041,7 +17752,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2797*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2918*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16050,7 +17761,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2799*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2920*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16059,7 +17770,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2801*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2922*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16068,7 +17779,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2803*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2924*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16077,12 +17788,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2805*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2926*/
 	{
 	.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:2806*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2927*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16091,7 +17802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2808*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2929*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16100,12 +17811,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2810*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2931*/
 	{
 	.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:2811*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2932*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16114,7 +17825,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2813*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2934*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16123,7 +17834,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2815*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2936*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16132,7 +17843,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2817*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2938*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16141,7 +17852,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2819*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2940*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16150,7 +17861,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2821*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2942*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16159,7 +17870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2823*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2944*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16168,7 +17879,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2825*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2946*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16177,7 +17888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2827*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2948*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16186,7 +17897,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2829*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2950*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16195,7 +17906,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2831*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2952*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16204,7 +17915,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2833*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2954*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16213,7 +17924,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2835*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2956*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16222,7 +17933,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2837*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2958*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16231,7 +17942,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2839*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2960*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16244,7 +17955,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2842*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2963*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16257,17 +17968,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_HDR_BIT_OO_VLAN
 	},
-	/* field_cond: class_tid: 2, profile_tcam.gen_template:2845*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2966*/
 	{
 	.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:2846*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2967*/
 	{
 	.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:2847*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2968*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -16276,7 +17987,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:2849*/
+	/* field_cond: class_tid: 2, profile_tcam.gen_template:2970*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -16285,7 +17996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2851*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2972*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16294,7 +18005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2853*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2974*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16303,7 +18014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2855*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2976*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -16312,7 +18023,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2857*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2978*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -16321,17 +18032,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2859*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2980*/
 	{
 	.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:2860*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2981*/
 	{
 	.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:2861*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2982*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16348,7 +18059,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2865*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2986*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16365,7 +18076,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2869*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2990*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16382,7 +18093,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2873*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2994*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -16395,7 +18106,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2876*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:2997*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16412,7 +18123,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2880*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3001*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
@@ -16425,7 +18136,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2883*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3004*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16446,7 +18157,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2888*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3009*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16467,7 +18178,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2893*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3014*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16488,7 +18199,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2898*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3019*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16509,7 +18220,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2903*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3024*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16530,7 +18241,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2908*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3029*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16551,7 +18262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2913*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3034*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -16572,7 +18283,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2918*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3039*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -16593,7 +18304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2923*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3044*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16610,7 +18321,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2927*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3048*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16627,7 +18338,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2931*/
+	/* 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_INNER_LOOP
@@ -16644,12 +18355,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2935*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3056*/
 	{
 	.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:2936*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3057*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16666,12 +18377,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:2940*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3061*/
 	{
 	.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:2941*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3062*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16688,7 +18399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2945*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3066*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16705,7 +18416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2949*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3070*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16722,7 +18433,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2953*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3074*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16739,7 +18450,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2957*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3078*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16756,7 +18467,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2961*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3082*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16773,7 +18484,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2965*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3086*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16790,7 +18501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2969*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3090*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16807,7 +18518,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2973*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3094*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16824,7 +18535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2977*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3098*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16841,7 +18552,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2981*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3102*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16858,7 +18569,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2985*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3106*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16875,7 +18586,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2989*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3110*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16892,7 +18603,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2993*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3114*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16909,7 +18620,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:2997*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3118*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16926,7 +18637,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3001*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3122*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16943,7 +18654,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3005*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3126*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16960,7 +18671,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3009*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3130*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16977,7 +18688,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3013*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3134*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -16994,7 +18705,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3017*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3138*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -17011,7 +18722,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3021*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3142*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -17032,7 +18743,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3026*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3147*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -17049,7 +18760,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3030*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3151*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -17070,7 +18781,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3035*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3156*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -17087,7 +18798,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3039*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3160*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17100,7 +18811,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3042*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3163*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17113,7 +18824,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3045*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3166*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17126,7 +18837,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3048*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3169*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17139,7 +18850,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3051*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3172*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17156,7 +18867,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3055*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3176*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17169,7 +18880,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3058*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3179*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17186,7 +18897,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3062*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3183*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17199,7 +18910,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3065*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3186*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17216,7 +18927,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3069*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3190*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17229,7 +18940,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3072*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3193*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17246,7 +18957,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3076*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3197*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17259,7 +18970,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3079*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3200*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17280,7 +18991,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3084*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3205*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17297,7 +19008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3088*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3209*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17318,7 +19029,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3093*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3214*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17335,7 +19046,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3097*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3218*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17356,7 +19067,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3102*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3223*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17377,7 +19088,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3107*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3228*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17394,7 +19105,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3111*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3232*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17411,7 +19122,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3115*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3236*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17432,7 +19143,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3120*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3241*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17453,7 +19164,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3125*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3246*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17470,7 +19181,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3129*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3250*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17487,7 +19198,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3133*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3254*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -17508,7 +19219,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3138*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3259*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -17525,7 +19236,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3142*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3263*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -17546,7 +19257,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3147*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3268*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -17563,7 +19274,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3151*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3272*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17580,7 +19291,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3155*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3276*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17593,7 +19304,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3158*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3279*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17610,7 +19321,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3162*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3283*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17623,7 +19334,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3165*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3286*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17640,7 +19351,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3169*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3290*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17653,7 +19364,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3172*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3293*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17670,7 +19381,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3176*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3297*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17683,7 +19394,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3179*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3300*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17700,7 +19411,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3183*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3304*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17713,7 +19424,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3186*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3307*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17730,7 +19441,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3190*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3311*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17743,7 +19454,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3193*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3314*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17760,7 +19471,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3197*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3318*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17773,7 +19484,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3200*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3321*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17790,7 +19501,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3204*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3325*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17803,7 +19514,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3207*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3328*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17820,7 +19531,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3211*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3332*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17837,7 +19548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3215*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3336*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17850,7 +19561,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3218*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3339*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17863,7 +19574,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3221*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3342*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17880,7 +19591,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3225*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3346*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17897,7 +19608,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3229*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3350*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17910,7 +19621,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3232*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3353*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17923,7 +19634,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3235*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3356*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17936,7 +19647,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3238*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3359*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17949,7 +19660,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3241*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3362*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17958,7 +19669,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:3243*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3364*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -17967,7 +19678,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:3245*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3366*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -17984,7 +19695,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3249*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3370*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18001,7 +19712,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3253*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3374*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18014,7 +19725,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3256*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3377*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18027,7 +19738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3259*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3380*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18040,7 +19751,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3262*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3383*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18053,7 +19764,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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:3265*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3386*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18062,7 +19773,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:3267*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3388*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18071,7 +19782,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, wm_key_recipe.0:3269*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3390*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18088,7 +19799,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3273*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3394*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18105,7 +19816,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3277*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3398*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18118,7 +19829,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3280*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3401*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18131,7 +19842,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3283*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3404*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18148,7 +19859,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3287*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3408*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18165,7 +19876,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3291*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3412*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18178,7 +19889,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3294*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3415*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18191,7 +19902,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3297*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3418*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18208,7 +19919,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3301*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3422*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18225,7 +19936,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3305*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3426*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18238,7 +19949,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3308*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3429*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18251,7 +19962,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3311*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3432*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18268,7 +19979,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3315*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3436*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18285,7 +19996,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3319*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3440*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18298,7 +20009,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3322*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3443*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18311,7 +20022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3325*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3446*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18320,7 +20031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3327*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3448*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18337,7 +20048,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3331*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3452*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18354,7 +20065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3335*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3456*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18367,7 +20078,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3338*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3459*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18380,7 +20091,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3341*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3462*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18389,7 +20100,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3343*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3464*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18406,7 +20117,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3347*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3468*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18423,7 +20134,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3351*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3472*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18436,7 +20147,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3354*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3475*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18449,7 +20160,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3357*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3478*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18458,7 +20169,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3359*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3480*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18475,7 +20186,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3363*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3484*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18492,7 +20203,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3367*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3488*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18505,7 +20216,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3370*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3491*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -18518,7 +20229,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, wm_key_recipe.0:3373*/
+	/* field_cond: class_tid: 2, wm_key_recipe.0:3494*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -18527,7 +20238,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3375*/
+	/* field_cond: class_tid: 2, proto_header_cache.wr:3496*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -18536,7 +20247,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3377*/
+	/* cond_execute: class_tid: 2, em_flow_conflict_cache.rd:3498*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
@@ -18553,7 +20264,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3381*/
+	/* field_cond: class_tid: 2, em_flow_conflict_cache.rd:3502*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -18562,12 +20273,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3383*/
+	/* cond_execute: class_tid: 2, control.em_flow_conflict_cache_miss:3504*/
 	{
 	.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:3384*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3505*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18576,7 +20287,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3386*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3507*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -18585,7 +20296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:3388*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3509*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -18594,12 +20305,12 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:3390*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3511*/
 	{
 	.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:3391*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3512*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18620,7 +20331,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, fkb_select.em_gen_template:3396*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3517*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18637,7 +20348,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3400*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3521*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18658,7 +20369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3405*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3526*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18679,7 +20390,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3410*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3531*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18700,7 +20411,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3415*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3536*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -18721,7 +20432,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3420*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3541*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18738,7 +20449,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3424*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3545*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18755,7 +20466,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3428*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3549*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18772,7 +20483,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3432*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3553*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18789,7 +20500,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3436*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3557*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18806,7 +20517,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3440*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3561*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18823,7 +20534,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3444*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3565*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18840,7 +20551,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3448*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3569*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18857,7 +20568,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3452*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3573*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18874,7 +20585,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3456*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3577*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18891,7 +20602,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3460*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3581*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18908,7 +20619,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3464*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3585*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18925,7 +20636,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3468*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3589*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18942,7 +20653,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3472*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3593*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18959,7 +20670,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3476*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3597*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18976,7 +20687,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3480*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3601*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -18993,7 +20704,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3484*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3605*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -19010,7 +20721,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:3488*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3609*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -19027,7 +20738,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3492*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3613*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -19048,7 +20759,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3497*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3618*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -19065,7 +20776,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3501*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3622*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19078,7 +20789,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3504*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3625*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19091,7 +20802,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3507*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3628*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19112,7 +20823,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, fkb_select.em_gen_template:3512*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3633*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19129,7 +20840,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, fkb_select.em_gen_template:3516*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3637*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19146,7 +20857,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3520*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3641*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19159,7 +20870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3523*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3644*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19180,7 +20891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3528*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3649*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19197,7 +20908,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3532*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3653*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19218,7 +20929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3537*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3658*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19239,7 +20950,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3542*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3663*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19256,7 +20967,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3546*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3667*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19273,7 +20984,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3550*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3671*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -19294,7 +21005,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3555*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3676*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -19311,7 +21022,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3559*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3680*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19328,7 +21039,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3563*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3684*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19341,7 +21052,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3566*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3687*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19358,7 +21069,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3570*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3691*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19371,7 +21082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3573*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3694*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19388,7 +21099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3577*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3698*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19401,7 +21112,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3580*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3701*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19418,7 +21129,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3584*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3705*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19435,7 +21146,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3588*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3709*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19448,7 +21159,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3591*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3712*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19461,7 +21172,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3594*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3715*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19478,7 +21189,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3598*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3719*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19491,7 +21202,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3601*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3722*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19508,7 +21219,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3605*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3726*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19521,7 +21232,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3608*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3729*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19538,7 +21249,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3612*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3733*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19551,7 +21262,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3615*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3736*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19568,7 +21279,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3619*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3740*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19585,7 +21296,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3623*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3744*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19598,7 +21309,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3626*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3747*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19611,7 +21322,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3629*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3750*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19628,7 +21339,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3633*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3754*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19645,7 +21356,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3637*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3758*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19658,7 +21369,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3640*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3761*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19671,7 +21382,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3643*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3764*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19688,7 +21399,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3647*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3768*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19705,7 +21416,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3651*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3772*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19718,7 +21429,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3654*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3775*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19731,7 +21442,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, fkb_select.em_gen_template:3657*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3778*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19748,7 +21459,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3661*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3782*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19765,7 +21476,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3665*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3786*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19778,7 +21489,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3668*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3789*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19791,7 +21502,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3671*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3792*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19808,7 +21519,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3675*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3796*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19825,7 +21536,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3679*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3800*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19838,7 +21549,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, fkb_select.em_gen_template:3682*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3803*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19851,7 +21562,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3685*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3806*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19868,7 +21579,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3689*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3810*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -19885,7 +21596,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3693*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3814*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19898,7 +21609,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3696*/
+	/* field_cond: class_tid: 2, fkb_select.em_gen_template:3817*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -19911,7 +21622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3699*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3820*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -19920,7 +21631,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3701*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3822*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -19929,7 +21640,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3703*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3824*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -19938,7 +21649,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:3705*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3826*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -19947,17 +21658,17 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:3707*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3828*/
 	{
 	.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:3708*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3829*/
 	{
 	.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:3709*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3830*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -19978,7 +21689,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, em_key_recipe.0:3714*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3835*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -19999,7 +21710,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, em_key_recipe.0:3719*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3840*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20016,7 +21727,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3723*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3844*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20033,7 +21744,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3727*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3848*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20054,7 +21765,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3732*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3853*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20075,7 +21786,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3737*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3858*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20096,7 +21807,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3742*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3863*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20117,7 +21828,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3747*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3868*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20138,7 +21849,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3752*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3873*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20159,7 +21870,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3757*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3878*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -20180,7 +21891,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3762*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3883*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -20201,7 +21912,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3767*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3888*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20218,7 +21929,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3771*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3892*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20235,7 +21946,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3775*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3896*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20252,7 +21963,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3779*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3900*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20269,7 +21980,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3783*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3904*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20286,7 +21997,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3787*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3908*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20303,7 +22014,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3791*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3912*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20320,7 +22031,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3795*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3916*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20337,7 +22048,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3799*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3920*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20354,7 +22065,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3803*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3924*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20371,7 +22082,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3807*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3928*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20388,7 +22099,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3811*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3932*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20405,7 +22116,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3815*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3936*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20422,7 +22133,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3819*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3940*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20439,7 +22150,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3823*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3944*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20456,7 +22167,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3827*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3948*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20473,7 +22184,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3831*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3952*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20490,7 +22201,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3835*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3956*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20507,7 +22218,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3839*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3960*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20524,7 +22235,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3843*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3964*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20541,7 +22252,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3847*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3968*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20558,7 +22269,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:3851*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3972*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20575,7 +22286,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3855*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3976*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20592,7 +22303,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:3859*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3980*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20609,7 +22320,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3863*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3984*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20630,7 +22341,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3868*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3989*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20647,7 +22358,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3872*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3993*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20668,7 +22379,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3877*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:3998*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_INNER_LOOP
@@ -20685,7 +22396,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3881*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4002*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20698,7 +22409,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3884*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4005*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20711,7 +22422,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3887*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4008*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20724,7 +22435,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3890*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4011*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20737,7 +22448,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3893*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4014*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20758,7 +22469,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, em_key_recipe.0:3898*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4019*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -20775,7 +22486,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, em_key_recipe.0:3902*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4023*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20796,7 +22507,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, em_key_recipe.0:3907*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4028*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -20813,7 +22524,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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: 2, em_key_recipe.0:3911*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4032*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20830,7 +22541,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3915*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4036*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -20843,7 +22554,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3918*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4039*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20860,7 +22571,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3922*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4043*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -20873,7 +22584,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:3925*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4046*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20894,7 +22605,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3930*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4051*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -20911,7 +22622,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3934*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4055*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20932,7 +22643,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3939*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4060*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -20949,7 +22660,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3943*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4064*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20970,7 +22681,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3948*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4069*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -20991,7 +22702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3953*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4074*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21008,7 +22719,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3957*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4078*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21025,7 +22736,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3961*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4082*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21046,7 +22757,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3966*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4087*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21067,7 +22778,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3971*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4092*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21084,7 +22795,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3975*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4096*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21101,7 +22812,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3979*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4100*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -21122,7 +22833,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3984*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4105*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -21139,7 +22850,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3988*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4109*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -21160,7 +22871,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3993*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4114*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_L2_ONLY
@@ -21177,7 +22888,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:3997*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4118*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21194,7 +22905,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4001*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4122*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21207,7 +22918,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4004*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4125*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21224,7 +22935,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4008*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4129*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21237,7 +22948,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4011*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4132*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21254,7 +22965,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4015*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4136*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21267,7 +22978,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4018*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4139*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21284,7 +22995,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4022*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4143*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21297,7 +23008,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4025*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4146*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21314,7 +23025,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4029*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4150*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21327,7 +23038,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4032*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4153*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21344,7 +23055,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4036*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4157*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21357,7 +23068,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4039*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4160*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21374,7 +23085,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4043*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4164*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21387,7 +23098,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4046*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4167*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21404,7 +23115,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4050*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4171*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21417,7 +23128,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4053*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4174*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21434,7 +23145,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4057*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4178*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21451,7 +23162,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4061*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4182*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21464,7 +23175,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4064*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4185*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21477,7 +23188,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4067*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4188*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21494,7 +23205,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4071*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4192*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21511,7 +23222,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4075*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4196*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21524,7 +23235,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4078*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4199*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21537,7 +23248,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4081*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4202*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21554,7 +23265,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4085*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4206*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21571,7 +23282,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4089*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4210*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21584,7 +23295,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4092*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4213*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21597,7 +23308,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4095*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4216*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21614,7 +23325,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4099*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4220*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21631,7 +23342,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4103*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4224*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21644,7 +23355,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4106*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4227*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21657,7 +23368,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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: 2, em_key_recipe.0:4109*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4230*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21674,7 +23385,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4113*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4234*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21691,7 +23402,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4117*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4238*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21704,7 +23415,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4120*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4241*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21717,7 +23428,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4123*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4244*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21734,7 +23445,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4127*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4248*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21751,7 +23462,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4131*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4252*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21764,7 +23475,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4134*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4255*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21777,7 +23488,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4137*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4258*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21794,7 +23505,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4141*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4262*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21811,7 +23522,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4145*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4266*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21824,7 +23535,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:4148*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4269*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21837,7 +23548,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4151*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4272*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21854,7 +23565,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4155*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4276*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21871,7 +23582,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4159*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4280*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21884,7 +23595,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_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, em_key_recipe.0:4162*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4283*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21897,7 +23608,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4165*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4286*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21914,7 +23625,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4169*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4290*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21931,7 +23642,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4173*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4294*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21944,7 +23655,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4176*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4297*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -21957,7 +23668,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4179*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4300*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21974,7 +23685,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4183*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4304*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -21991,7 +23702,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4187*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4308*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -22004,7 +23715,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4190*/
+	/* field_cond: class_tid: 2, em_key_recipe.0:4311*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_IS_TUNNEL
@@ -22017,7 +23728,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4193*/
+	/* field_cond: class_tid: 2, em_flow_conflict_cache.wr:4314*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_GROUP_ID
@@ -22026,7 +23737,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4195*/
+	/* cond_execute: class_tid: 2, control.field_sig_validation:4316*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_CC
@@ -22035,7 +23746,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.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:4197*/
+	/* cond_execute: class_tid: 2, control.outer_loop_add_check:4318*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
@@ -22044,7 +23755,7 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_ADD
 	},
-	/* cond_execute: class_tid: 2, control.em_wc_check:4199*/
+	/* cond_execute: class_tid: 2, control.em_wc_check:4320*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
 	.cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
@@ -22057,62 +23768,157 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_class_cond_list[] = {
 	.cond_opcode = BNXT_ULP_COND_OPC_CF_BIT_IS_SET,
 	.cond_operand = BNXT_ULP_CF_BIT_DEF_PRIO
 	},
-	/* cond_execute: class_tid: 2, em_normal.egress_generic_template:4202*/
+	/* cond_execute: class_tid: 2, em_normal.egress_generic_template:4323*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 2, em_recycle.egress_generic_template_recycle:4203*/
+	/* cond_execute: class_tid: 2, em_recycle.egress_generic_template_recycle:4324*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 2, control.em_add_check:4204*/
+	/* cond_execute: class_tid: 2, control.em_add_check:4325*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_EM_INSERT_FAIL
 	},
-	/* cond_execute: class_tid: 2, wm_normal.egress_generic_template:4205*/
+	/* cond_execute: class_tid: 2, wm_normal.egress_generic_template:4326*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 2, wm_recycle.egress_generic_template_recycle:4206*/
+	/* cond_execute: class_tid: 2, wm_recycle.egress_generic_template_recycle:4327*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 2, control.outer_loop_check:4207*/
+	/* cond_execute: class_tid: 2, control.outer_loop_check:4328*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_OUTER_LOOP
 	},
-	/* cond_execute: class_tid: 3, control.ts_ing_rd_check:4208*/
+	/* cond_execute: class_tid: 3, control.redirect_only_check:4329*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_REDIRECT_ONLY
+	},
+	/* cond_execute: class_tid: 3, control.metadata_record_miss:4330*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: class_tid: 3, control.ing_rd_check:4209*/
+	/* cond_execute: class_tid: 3, control.ts_ing_rd_check:4331*/
 	{
 	.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_rd_check:4210*/
+	/* field_cond: class_tid: 3, cmm_full_act_record.ing_default_1:4332*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_RX_MISS_SEND_TO_PF
+	},
+	/* cond_execute: class_tid: 3, profile_tcam_bypass.allocate_prof_func:4333*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	/* cond_execute: class_tid: 3, global_identifier_app_table.allocate_prof_func:4334*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_IS_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	/* cond_execute: class_tid: 3, control.non_vfr_egr_rd_check:4335*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: class_tid: 3, control.tsid_vfr_rd_check:4211*/
+	/* cond_execute: class_tid: 3, control.tsid_vfr_rd_check:4336*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: class_tid: 4, control.tsid_vfr_egr_check:4212*/
+	/* cond_execute: class_tid: 4, control.tsid_vfr_egr_check:4337*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
 	},
-	/* cond_execute: class_tid: 4, control.endpoint_def_egr_rd_check:4213*/
+	/* cond_execute: class_tid: 4, control.endpoint_def_egr_rd_check:4338*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+	},
+	/* cond_execute: class_tid: 5, control.tsid_rd_check:4339*/
+	{
+	.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_rd_check:4340*/
+	{
+	.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:4341*/
+	{
+	.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.svif_ing:4342*/
+	{
+	.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.svif_ing:4344*/
+	{
+	.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:4346*/
+	{
+	.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:4348*/
+	{
+	.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.ing_rd_check:4350*/
+	{
+	.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:4351*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+	.cond_operand = BNXT_ULP_RF_IDX_CC
+	},
+	/* cond_execute: class_tid: 8, control.check_hot_upgrade:4352*/
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_HOT_UPGRADE
+	},
+	{
+	.cond_opcode = BNXT_ULP_COND_OPC_FEATURE_BIT_NOT_SET,
+	.cond_operand = BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE
+	},
+	/* cond_execute: class_tid: 8, control.hot_upgrade_cache_check:4354*/
 	{
 	.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
 	.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
@@ -22141,8 +23947,103 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
 		}
 	},
+	/* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */
+	{
+	.field_info_mask = {
+		.description = "tunnel_port",
+		.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_port",
+		.field_bit_size = 8,
+		.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_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_THOR2_SYM_DPORT_TUN_TYPE_SRV6}
+		}
+	},
+	/* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */
+	{
+	.field_info_mask = {
+		.description = "tunnel_port",
+		.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_port",
+		.field_bit_size = 8,
+		.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_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_THOR2_SYM_DPORT_TUN_TYPE_SRV6}
+		}
+	},
 	/* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */
 	{
+	.field_info_mask = {
+		.description = "tunnel_port",
+		.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_port",
+		.field_bit_size = 8,
+		.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_info_mask = {
 		.description = "tunnel_type",
 		.field_bit_size = 8,
@@ -22157,8 +24058,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(10 >> 8) & 0xff,
-			10 & 0xff,
+			(18 >> 8) & 0xff,
+			18 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -22169,6 +24070,25 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	/* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_wr */
 	{
+	.field_info_mask = {
+		.description = "tunnel_port",
+		.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_port",
+		.field_bit_size = 8,
+		.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_info_mask = {
 		.description = "tunnel_type",
 		.field_bit_size = 8,
@@ -22183,8 +24103,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(22 >> 8) & 0xff,
-			22 & 0xff,
+			(30 >> 8) & 0xff,
+			30 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -22217,6 +24137,44 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
 		}
 	},
+	/* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */
+	{
+	.field_info_mask = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "loopback",
+		.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 = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	/* class_tid: 1, , table: tunnel_cache.f1_f2_rd */
 	{
 	.field_info_mask = {
@@ -22354,8 +24312,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(40 >> 8) & 0xff,
-			40 & 0xff,
+			(49 >> 8) & 0xff,
+			49 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22370,8 +24328,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(42 >> 8) & 0xff,
-			42 & 0xff,
+			(51 >> 8) & 0xff,
+			51 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22412,8 +24370,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(44 >> 8) & 0xff,
-			44 & 0xff,
+			(53 >> 8) & 0xff,
+			53 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22428,8 +24386,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(46 >> 8) & 0xff,
-			46 & 0xff,
+			(55 >> 8) & 0xff,
+			55 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22446,8 +24404,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(48 >> 8) & 0xff,
-			48 & 0xff,
+			(57 >> 8) & 0xff,
+			57 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22462,8 +24420,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(50 >> 8) & 0xff,
-			50 & 0xff,
+			(59 >> 8) & 0xff,
+			59 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22480,8 +24438,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(52 >> 8) & 0xff,
-			52 & 0xff,
+			(61 >> 8) & 0xff,
+			61 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22496,8 +24454,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(54 >> 8) & 0xff,
-			54 & 0xff,
+			(63 >> 8) & 0xff,
+			63 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22514,8 +24472,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(56 >> 8) & 0xff,
-			56 & 0xff,
+			(65 >> 8) & 0xff,
+			65 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22530,8 +24488,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(58 >> 8) & 0xff,
-			58 & 0xff,
+			(67 >> 8) & 0xff,
+			67 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22548,8 +24506,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(60 >> 8) & 0xff,
-			60 & 0xff,
+			(69 >> 8) & 0xff,
+			69 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22564,8 +24522,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(62 >> 8) & 0xff,
-			62 & 0xff,
+			(71 >> 8) & 0xff,
+			71 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22632,8 +24590,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(65 >> 8) & 0xff,
-			65 & 0xff,
+			(74 >> 8) & 0xff,
+			74 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22648,8 +24606,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(67 >> 8) & 0xff,
-			67 & 0xff,
+			(76 >> 8) & 0xff,
+			76 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22666,8 +24624,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(69 >> 8) & 0xff,
-			69 & 0xff,
+			(78 >> 8) & 0xff,
+			78 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22682,8 +24640,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(71 >> 8) & 0xff,
-			71 & 0xff,
+			(80 >> 8) & 0xff,
+			80 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22700,8 +24658,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(73 >> 8) & 0xff,
-			73 & 0xff,
+			(82 >> 8) & 0xff,
+			82 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22716,8 +24674,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(75 >> 8) & 0xff,
-			75 & 0xff,
+			(84 >> 8) & 0xff,
+			84 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22734,8 +24692,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(77 >> 8) & 0xff,
-			77 & 0xff,
+			(86 >> 8) & 0xff,
+			86 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22750,8 +24708,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(79 >> 8) & 0xff,
-			79 & 0xff,
+			(88 >> 8) & 0xff,
+			88 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22768,8 +24726,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(81 >> 8) & 0xff,
-			81 & 0xff,
+			(90 >> 8) & 0xff,
+			90 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22784,8 +24742,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(83 >> 8) & 0xff,
-			83 & 0xff,
+			(92 >> 8) & 0xff,
+			92 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22802,8 +24760,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(85 >> 8) & 0xff,
-			85 & 0xff,
+			(94 >> 8) & 0xff,
+			94 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22818,8 +24776,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(87 >> 8) & 0xff,
-			87 & 0xff,
+			(96 >> 8) & 0xff,
+			96 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22836,8 +24794,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(89 >> 8) & 0xff,
-			89 & 0xff,
+			(98 >> 8) & 0xff,
+			98 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22852,8 +24810,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(91 >> 8) & 0xff,
-			91 & 0xff,
+			(100 >> 8) & 0xff,
+			100 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -22914,18 +24872,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	.field_info_mask = {
 		.description = "svif",
 		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.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_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_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.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}
 		}
@@ -23240,8 +25212,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(98 >> 8) & 0xff,
-			98 & 0xff,
+			(109 >> 8) & 0xff,
+			109 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -23253,8 +25225,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(99 >> 8) & 0xff,
-			99 & 0xff,
+			(110 >> 8) & 0xff,
+			110 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
@@ -23306,201 +25278,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		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_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: mac_addr_cache.l2_table_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 = "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 = {
-			(102 >> 8) & 0xff,
-			102 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "metadata",
-		.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 = "metadata",
-		.field_bit_size = 32,
-		.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,
-		.field_opr2 = {
-		(ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff,
-		(ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff,
-		(ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff,
-		ULP_THOR2_SYM_CHAIN_META_VAL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	/* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */
+	/* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */
 	{
 	.field_info_mask = {
 		.description = "etype",
@@ -23618,23 +25396,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "addr0",
 		.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_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "addr0",
 		.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_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
@@ -23670,13 +25438,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "out_tun_hdr_type",
 		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		ULP_THOR2_SYM_TUN_HDR_TYPE_NONE}
 		},
 	.field_info_spec = {
 		.description = "out_tun_hdr_type",
 		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		ULP_THOR2_SYM_TUN_HDR_TYPE_NONE}
 		}
 	},
 	{
@@ -23739,7 +25511,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_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff,
+		(ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff,
+		(ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff,
+		ULP_THOR2_SYM_CHAIN_META_VAL & 0xff}
 		}
 	},
 	{
@@ -23747,19 +25524,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "svif",
 		.field_bit_size = 11,
 		.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,
+			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_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
+		(BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff}
 		}
 	},
 	{
@@ -23795,9 +25572,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.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 = "loopback",
@@ -23813,8 +25588,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(108 >> 8) & 0xff,
-			108 & 0xff,
+			(112 >> 8) & 0xff,
+			112 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
@@ -23826,8 +25601,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(109 >> 8) & 0xff,
-			109 & 0xff,
+			(113 >> 8) & 0xff,
+			113 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
@@ -23838,9 +25613,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.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_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "mpass_cnt",
@@ -23881,23 +25654,72 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		1}
 		}
 	},
-	/* class_tid: 1, , table: mac_addr_cache.l2_table_wr */
+	/* class_tid: 1, , table: flow_chain_l2_cntxt.write */
 	{
 	.field_info_mask = {
 		.description = "svif",
 		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
+			(114 >> 8) & 0xff,
+			114 & 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_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
+			(115 >> 8) & 0xff,
+			115 & 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.l2_table_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 = {
+			(118 >> 8) & 0xff,
+			118 & 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 = {
+			(119 >> 8) & 0xff,
+			119 & 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}
 		}
@@ -24002,8 +25824,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(110 >> 8) & 0xff,
-			110 & 0xff,
+			(120 >> 8) & 0xff,
+			120 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
@@ -24027,8 +25849,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(111 >> 8) & 0xff,
-			111 & 0xff,
+			(121 >> 8) & 0xff,
+			121 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -24054,56 +25876,63 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: proto_header_cache.rd */
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "type",
+		.field_bit_size = 3,
 		.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 = {
-			(140 >> 8) & 0xff,
-			140 & 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
+		.description = "type",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
+		.description = "domain",
+		.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 = "prof_func_id",
-		.field_bit_size = 8,
+		.description = "domain",
+		.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 = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		(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 = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "mac_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
@@ -24112,1161 +25941,573 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			0xff,
 			0xff,
 			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "mac_addr",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.description = "pad",
+		.field_bit_size = 65,
 		.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 = {
-			(143 >> 8) & 0xff,
-			143 & 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
+		.description = "pad",
+		.field_bit_size = 65,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
+		.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 = 8,
+		.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: 1, , table: hdr_overlap_cache.overlap_check */
 	{
 	.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: 1, , table: hdr_overlap_cache.overlap_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 = {
-			(498 >> 8) & 0xff,
-			498 & 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
+		.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 = 8,
+		.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 = 8,
+		.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
 		}
 	},
-	/* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.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_HDR_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 1, , table: profile_tcam.gen_template */
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_dcn_present",
-		.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 = "l4_hdr_dcn_present",
-		.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 = "l4_hdr_flags",
-		.field_bit_size = 9,
+		.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 = "l4_hdr_flags",
-		.field_bit_size = 9,
+		.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 = "l4_hdr_subtype",
-		.field_bit_size = 3,
+		.description = "addr1",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_subtype",
-		.field_bit_size = 3,
+		.description = "addr1",
+		.field_bit_size = 48,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.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,
+		.description = "addr0",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(517 >> 8) & 0xff,
-			517 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(66 >> 8) & 0xff,
-		66 & 0xff}
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			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,
+		.description = "addr0",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(525 >> 8) & 0xff,
-			525 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(69 >> 8) & 0xff,
-		69 & 0xff}
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 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 = {
-			(533 >> 8) & 0xff,
-			533 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(72 >> 8) & 0xff,
-		72 & 0xff}
+		.description = "tunnel_id",
+		.field_bit_size = 32,
+		.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 = {
-			(541 >> 8) & 0xff,
-			541 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(75 >> 8) & 0xff,
-		75 & 0xff}
+		.description = "tunnel_id",
+		.field_bit_size = 32,
+		.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 = {
-			(549 >> 8) & 0xff,
-			549 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(78 >> 8) & 0xff,
-		78 & 0xff}
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
+		.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 = {
-			(557 >> 8) & 0xff,
-			557 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(81 >> 8) & 0xff,
-		81 & 0xff}
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
+		.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_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(565 >> 8) & 0xff,
-			565 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(84 >> 8) & 0xff,
-		84 & 0xff}
+		.description = "out_tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.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 = {
-			(573 >> 8) & 0xff,
-			573 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(87 >> 8) & 0xff,
-		87 & 0xff}
+		.description = "out_tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_protocol",
-		.field_bit_size = 8,
+		.description = "llc",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3_protocol",
-		.field_bit_size = 8,
+		.description = "llc",
+		.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",
+		.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 = {
-			(581 >> 8) & 0xff,
-			581 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(90 >> 8) & 0xff,
-		90 & 0xff}
+		1}
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_isIP",
+		.description = "roce",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(589 >> 8) & 0xff,
-			589 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(93 >> 8) & 0xff,
-		93 & 0xff}
+		.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_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(597 >> 8) & 0xff,
-			597 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(96 >> 8) & 0xff,
-		96 & 0xff}
+		.description = "l2ip_func",
+		.field_bit_size = 8,
+		.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_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(605 >> 8) & 0xff,
-			605 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_TYPE_IPV6},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(99 >> 8) & 0xff,
-		99 & 0xff}
+		.description = "l2ip_func",
+		.field_bit_size = 8,
+		.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_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "metadata",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(613 >> 8) & 0xff,
-			613 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(102 >> 8) & 0xff,
-		102 & 0xff}
+		(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}
 		},
 	.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 = {
-			(621 >> 8) & 0xff,
-			621 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(105 >> 8) & 0xff,
-		105 & 0xff}
+		.description = "metadata",
+		.field_bit_size = 32,
+		.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_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_HF,
 		.field_opr1 = {
-			(629 >> 8) & 0xff,
-			629 & 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}
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 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,
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr1 = {
-			(637 >> 8) & 0xff,
-			637 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(111 >> 8) & 0xff,
-		111 & 0xff}
+		(BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
+		.description = "parif",
+		.field_bit_size = 5,
 		.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 = {
-			(645 >> 8) & 0xff,
-			645 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L2_TWO_VTAGS_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(114 >> 8) & 0xff,
-		114 & 0xff}
+		.description = "parif",
+		.field_bit_size = 5,
+		.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 = "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 = "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 = {
-			(651 >> 8) & 0xff,
-			651 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L2_VTAG_PRESENT_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(115 >> 8) & 0xff,
-		115 & 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_uc_mc_bc",
-		.field_bit_size = 2,
+		.description = "loopback",
+		.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_uc_mc_bc",
-		.field_bit_size = 2,
+		.description = "loopback",
+		.field_bit_size = 1,
 		.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,
+		.description = "recycle_cnt",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(657 >> 8) & 0xff,
-			657 & 0xff,
+			(130 >> 8) & 0xff,
+			130 & 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,
+		.description = "recycle_cnt",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(658 >> 8) & 0xff,
-			658 & 0xff,
+			(131 >> 8) & 0xff,
+			131 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		}
 	},
 	{
 	.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,
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(659 >> 8) & 0xff,
-			659 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(116 >> 8) & 0xff,
-		116 & 0xff}
+		3}
 		},
 	.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 = {
-			(663 >> 8) & 0xff,
-			663 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(117 >> 8) & 0xff,
-		117 & 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_hdr_valid",
-		.field_bit_size = 1,
+		.description = "spare",
+		.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 = "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 = {
-			(667 >> 8) & 0xff,
-			667 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(118 >> 8) & 0xff,
-		118 & 0xff}
+		.description = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 8,
+		.description = "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_CONST,
+		.field_opr1 = {
+		1}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 8,
+		.description = "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_CONST,
+		.field_opr1 = {
+		1}
 		}
 	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(671 >> 8) & 0xff,
-			671 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(119 >> 8) & 0xff,
-		119 & 0xff}
+		.description = "etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(687 >> 8) & 0xff,
-			687 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(125 >> 8) & 0xff,
-		125 & 0xff}
+		.description = "etype",
+		.field_bit_size = 16,
+		.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_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(703 >> 8) & 0xff,
-			703 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = "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 = {
-			(704 >> 8) & 0xff,
-			704 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = "tun_hdr_valid",
-		.field_bit_size = 1,
+		.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 = "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 = {
-			(705 >> 8) & 0xff,
-			705 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_VALID_YES},
-		.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 = "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 = {
-			(706 >> 8) & 0xff,
-			706 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(131 >> 8) & 0xff,
-		131 & 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 = "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 = {
-			(710 >> 8) & 0xff,
-			710 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(132 >> 8) & 0xff,
-		132 & 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 = "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 = {
-			(714 >> 8) & 0xff,
-			714 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(133 >> 8) & 0xff,
-		133 & 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 = "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 = {
-			(718 >> 8) & 0xff,
-			718 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(134 >> 8) & 0xff,
-		134 & 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 = "tl4_hdr_error",
+		.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 = {
-			(722 >> 8) & 0xff,
-			722 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(135 >> 8) & 0xff,
-		135 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_error",
+		.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 = {
-			(726 >> 8) & 0xff,
-			726 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(136 >> 8) & 0xff,
-		136 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_valid",
+		.description = "vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(730 >> 8) & 0xff,
-			730 & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_valid",
+		.description = "vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(735 >> 8) & 0xff,
-			735 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(139 >> 8) & 0xff,
-		139 & 0xff}
+		.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 = "addr1",
+		.field_bit_size = 48,
 		.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,
+		.description = "addr1",
+		.field_bit_size = 48,
 		.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_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "addr0",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(740 >> 8) & 0xff,
-			740 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(141 >> 8) & 0xff,
-		141 & 0xff}
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			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 = "addr0",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(744 >> 8) & 0xff,
-			744 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(142 >> 8) & 0xff,
-		142 & 0xff}
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 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 = {
-			(748 >> 8) & 0xff,
-			748 & 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 = "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 = {
-			(752 >> 8) & 0xff,
-			752 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(144 >> 8) & 0xff,
-		144 & 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 = {
-			(756 >> 8) & 0xff,
-			756 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(145 >> 8) & 0xff,
-		145 & 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 = {
-			(760 >> 8) & 0xff,
-			760 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_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 = {
-			(763 >> 8) & 0xff,
-			763 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_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 = {
-			(766 >> 8) & 0xff,
-			766 & 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 = {
-			(767 >> 8) & 0xff,
-			767 & 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 = {
-			(768 >> 8) & 0xff,
-			768 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(146 >> 8) & 0xff,
-		146 & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "ot_hdr_flags",
-		.field_bit_size = 8,
+		.description = "tunnel_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "ot_hdr_flags",
-		.field_bit_size = 8,
+		.description = "tunnel_id",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ot_hdr_type",
+		.description = "tun_hdr_type",
 		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "ot_hdr_type",
+		.description = "tun_hdr_type",
 		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -25274,41 +26515,27 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "ot_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "ot_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "ot_hdr_valid",
-		.field_bit_size = 1,
+		.description = "out_tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "ot_hdr_valid",
-		.field_bit_size = 1,
+		.description = "out_tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_is_tcp_udp",
+		.description = "llc",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "otl4_hdr_is_tcp_udp",
+		.description = "llc",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -25316,27 +26543,15 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "otl4_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "otl4_hdr_error",
+		.description = "roce",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
 		},
 	.field_info_spec = {
-		.description = "otl4_hdr_error",
+		.description = "roce",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -25344,83 +26559,96 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l2ip_func",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "otl4_hdr_valid",
-		.field_bit_size = 1,
+		.description = "l2ip_func",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "metadata",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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}
 		},
 	.field_info_spec = {
-		.description = "otl3_hdr_isIP",
-		.field_bit_size = 1,
+		.description = "metadata",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl3_hdr_type",
-		.field_bit_size = 4,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "otl3_hdr_type",
-		.field_bit_size = 4,
+		.description = "svif",
+		.field_bit_size = 11,
 		.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_SOCKET_DIRECT_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_SOCKET_DIRECT_SVIF & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl3_hdr_error",
-		.field_bit_size = 1,
+		.description = "parif",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "otl3_hdr_error",
-		.field_bit_size = 1,
+		.description = "parif",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "spif",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "otl3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "spif",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_two_vtags",
+		.description = "loopback",
 		.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 = "otl2_two_vtags",
+		.description = "loopback",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -25428,27 +26656,42 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "recycle_cnt",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(133 >> 8) & 0xff,
+			133 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "otl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "recycle_cnt",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(134 >> 8) & 0xff,
+			134 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_uc_mc_bc",
+		.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_CONST,
+		.field_opr1 = {
+		3}
 		},
 	.field_info_spec = {
-		.description = "otl2_uc_mc_bc",
+		.description = "mpass_cnt",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -25456,13 +26699,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_hdr_type",
+		.description = "spare",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "otl2_hdr_type",
+		.description = "spare",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -25470,119 +26713,162 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_hdr_valid",
+		.description = "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_CONST,
+		.field_opr1 = {
+		1}
 		},
 	.field_info_spec = {
-		.description = "otl2_hdr_valid",
+		.description = "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_CONST,
+		.field_opr1 = {
+		1}
 		}
 	},
+	/* class_tid: 1, , table: mac_addr_cache.l2_table_wr */
 	{
 	.field_info_mask = {
-		.description = "int_ifa_tail",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(135 >> 8) & 0xff,
+			135 & 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 = "int_ifa_tail",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(136 >> 8) & 0xff,
+			136 & 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 = "int_hdr_group",
-		.field_bit_size = 2,
+		.description = "tun_hdr",
+		.field_bit_size = 4,
 		.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 = "int_hdr_group",
-		.field_bit_size = 2,
+		.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 = "int_hdr_type",
-		.field_bit_size = 2,
+		.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 = "int_hdr_type",
-		.field_bit_size = 2,
+		.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 = "hrec_next",
-		.field_bit_size = 2,
+		.description = "vid",
+		.field_bit_size = 12,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "hrec_next",
-		.field_bit_size = 2,
+		.description = "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 = 8,
+		.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 = "prof_func_id",
-		.field_bit_size = 8,
+		.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_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		(BNXT_ULP_RF_IDX_O_DMAC >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_O_DMAC & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2ip_func_id",
-		.field_bit_size = 8,
+		.description = "etype",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2ip_func_id",
-		.field_bit_size = 8,
+		.description = "etype",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "agg_error",
-		.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_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			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
+		.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 = {
+			(137 >> 8) & 0xff,
+			137 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
@@ -25603,3373 +26889,3210 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(772 >> 8) & 0xff,
-			772 & 0xff,
+			(138 >> 8) & 0xff,
+			138 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
+		(ULP_THOR2_SYM_CHAIN_META_VAL >> 24) & 0xff,
+		(ULP_THOR2_SYM_CHAIN_META_VAL >> 16) & 0xff,
+		(ULP_THOR2_SYM_CHAIN_META_VAL >> 8) & 0xff,
+		ULP_THOR2_SYM_CHAIN_META_VAL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "recycle_count",
-		.field_bit_size = 4,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "recycle_count",
-		.field_bit_size = 4,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 1, , table: proto_header_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "pkt_type",
+		.description = "group_metadata",
 		.field_bit_size = 4,
 		.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 = "pkt_type",
+		.description = "group_metadata",
 		.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_OR,
+		.field_opr1 = {
+			(169 >> 8) & 0xff,
+			169 & 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 = "loopback",
-		.field_bit_size = 1,
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
+		.description = "prof_func_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_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+		}
+	},
+	{
 	.field_info_mask = {
-		.description = "spare",
-		.field_bit_size = 2,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "spare",
-		.field_bit_size = 2,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
 	{
 	.field_info_mask = {
-		.description = "valid",
-		.field_bit_size = 1,
+		.description = "group_metadata",
+		.field_bit_size = 4,
 		.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 = "valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.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 = {
-		1}
+			(172 >> 8) & 0xff,
+			172 & 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 = "padding",
-		.field_bit_size = 72,
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "padding",
-		.field_bit_size = 72,
+		.description = "prof_func_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_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: wm_key_recipe.0 */
+	/* class_tid: 1, , table: hdr_overlap_cache.overlap_check */
 	{
 	.field_info_mask = {
-		.description = "wc_profile_id",
-		.field_bit_size = 8,
+		.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 = "wc_profile_id",
-		.field_bit_size = 8,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-		(BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff}
+		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */
 	{
 	.field_info_mask = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "type",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(774 >> 8) & 0xff,
-			774 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "type",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(776 >> 8) & 0xff,
-			776 & 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
+		ULP_THOR2_SYM_GLB_ID_WC_PROFILE_ID}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.description = "domain",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(778 >> 8) & 0xff,
-			778 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "meta",
-		.field_bit_size = 32,
+		.description = "domain",
+		.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,
+		.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 = {
-			(780 >> 8) & 0xff,
-			780 & 0xff,
+			(177 >> 8) & 0xff,
+			177 & 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_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "rcyc_cnt",
-		.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 = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(782 >> 8) & 0xff,
-			782 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "rcyc_cnt",
-		.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 = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(783 >> 8) & 0xff,
-			783 & 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
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.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,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(784 >> 8) & 0xff,
-			784 & 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
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.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,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.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_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_smac",
+		.description = "pad",
 		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(792 >> 8) & 0xff,
-			792 & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl2_smac",
+		.description = "pad",
 		.field_bit_size = 48,
-		.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_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 1, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.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,
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(800 >> 8) & 0xff,
-			800 & 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
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(805 >> 8) & 0xff,
-			805 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(535 >> 8) & 0xff,
+			535 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.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
+		(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 = "tl2_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 = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(810 >> 8) & 0xff,
-			810 & 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 = {
-		(147 >> 8) & 0xff,
-		147 & 0xff}
+			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,
+		.description = "prof_func_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(820 >> 8) & 0xff,
-			820 & 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 = {
-		(148 >> 8) & 0xff,
-		148 & 0xff}
+		(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 = "tl2_etype",
-		.field_bit_size = 16,
-		.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 = {
-			(830 >> 8) & 0xff,
-			830 & 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
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.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,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(835 >> 8) & 0xff,
-			835 & 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
+		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */
 	{
 	.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,
+		.description = "type",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(840 >> 8) & 0xff,
-			840 & 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
+			0xff}
 		},
 	.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,
+		.description = "type",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(844 >> 8) & 0xff,
-			844 & 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
+		ULP_THOR2_SYM_GLB_ID_EM_PROFILE_ID}
 		}
 	},
 	{
 	.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,
+		.description = "domain",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(848 >> 8) & 0xff,
-			848 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(149 >> 8) & 0xff,
-		149 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.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 = {
-			(853 >> 8) & 0xff,
-			853 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(150 >> 8) & 0xff,
-		150 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "domain",
+		.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,
+		.description = "group_metadata",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.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_O_IPV4_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(862 >> 8) & 0xff,
-			862 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(556 >> 8) & 0xff,
+			556 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.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
+		(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.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "prof_func_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(866 >> 8) & 0xff,
-			866 & 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
+			0xff}
 		},
 	.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,
+		.description = "prof_func_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(870 >> 8) & 0xff,
-			870 & 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
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.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,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(874 >> 8) & 0xff,
-			874 & 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 = {
-		(151 >> 8) & 0xff,
-		151 & 0xff}
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			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,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(882 >> 8) & 0xff,
-			882 & 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 = {
-		(152 >> 8) & 0xff,
-		152 & 0xff}
+		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 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 = {
-			(890 >> 8) & 0xff,
-			890 & 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 = {
-		(153 >> 8) & 0xff,
-		153 & 0xff}
+		.description = "pad",
+		.field_bit_size = 48,
+		.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 = {
-			(898 >> 8) & 0xff,
-			898 & 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 = {
-		(154 >> 8) & 0xff,
-		154 & 0xff}
+		.description = "pad",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 1, , table: profile_tcam.gen_template */
 	{
 	.field_info_mask = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
+		.description = "l4_hdr_dcn_present",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_dcn_present",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4_hdr_flags",
+		.field_bit_size = 9,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_flags",
+		.field_bit_size = 9,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l4_hdr_subtype",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_subtype",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.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 = {
-			(906 >> 8) & 0xff,
-			906 & 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},
+			(558 >> 8) & 0xff,
+			558 & 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}
+		(67 >> 8) & 0xff,
+		67 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(914 >> 8) & 0xff,
-			914 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(566 >> 8) & 0xff,
+			566 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
+		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(156 >> 8) & 0xff,
-		156 & 0xff}
+		(70 >> 8) & 0xff,
+		70 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(922 >> 8) & 0xff,
-			922 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(574 >> 8) & 0xff,
+			574 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		(73 >> 8) & 0xff,
+		73 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(157 >> 8) & 0xff,
-		157 & 0xff}
+		(74 >> 8) & 0xff,
+		74 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(930 >> 8) & 0xff,
-			930 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(586 >> 8) & 0xff,
+			586 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
+		(78 >> 8) & 0xff,
+		78 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(158 >> 8) & 0xff,
-		158 & 0xff}
+		(79 >> 8) & 0xff,
+		79 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(938 >> 8) & 0xff,
-			938 & 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},
+			(598 >> 8) & 0xff,
+			598 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(159 >> 8) & 0xff,
-		159 & 0xff}
+		(83 >> 8) & 0xff,
+		83 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(947 >> 8) & 0xff,
-			947 & 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},
+			(606 >> 8) & 0xff,
+			606 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(160 >> 8) & 0xff,
-		160 & 0xff}
+		(86 >> 8) & 0xff,
+		86 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tids",
-		.field_bit_size = 24,
+		.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 = {
-			(956 >> 8) & 0xff,
-			956 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(614 >> 8) & 0xff,
+			614 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+		(89 >> 8) & 0xff,
+		89 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(161 >> 8) & 0xff,
-		161 & 0xff}
+		(90 >> 8) & 0xff,
+		90 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
+		.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 = {
-			(962 >> 8) & 0xff,
-			962 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(626 >> 8) & 0xff,
+			626 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff},
+		(94 >> 8) & 0xff,
+		94 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(162 >> 8) & 0xff,
-		162 & 0xff}
+		(95 >> 8) & 0xff,
+		95 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
+		.description = "l3_protocol",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l3_protocol",
+		.field_bit_size = 8,
+		.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_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(968 >> 8) & 0xff,
-			968 & 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},
+			(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 = {
-		(163 >> 8) & 0xff,
-		163 & 0xff}
+		(99 >> 8) & 0xff,
+		99 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
+		.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 = {
-			(975 >> 8) & 0xff,
-			975 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(648 >> 8) & 0xff,
+			648 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff},
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(164 >> 8) & 0xff,
-		164 & 0xff}
+		(103 >> 8) & 0xff,
+		103 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
+		.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 = {
-			(982 >> 8) & 0xff,
-			982 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(658 >> 8) & 0xff,
+			658 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		(107 >> 8) & 0xff,
+		107 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(165 >> 8) & 0xff,
-		165 & 0xff}
+		(108 >> 8) & 0xff,
+		108 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_smac",
-		.field_bit_size = 48,
+		.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 = {
-			(989 >> 8) & 0xff,
-			989 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(670 >> 8) & 0xff,
+			670 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		(112 >> 8) & 0xff,
+		112 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(166 >> 8) & 0xff,
-		166 & 0xff}
+		(113 >> 8) & 0xff,
+		113 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(996 >> 8) & 0xff,
-			996 & 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},
+			(682 >> 8) & 0xff,
+			682 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(167 >> 8) & 0xff,
-		167 & 0xff}
+		(117 >> 8) & 0xff,
+		117 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(1005 >> 8) & 0xff,
-			1005 & 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},
+			(690 >> 8) & 0xff,
+			690 & 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}
+		(120 >> 8) & 0xff,
+		120 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1014 >> 8) & 0xff,
-			1014 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(698 >> 8) & 0xff,
+			698 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
+		(123 >> 8) & 0xff,
+		123 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(169 >> 8) & 0xff,
-		169 & 0xff}
+		(124 >> 8) & 0xff,
+		124 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1032 >> 8) & 0xff,
-			1032 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(710 >> 8) & 0xff,
+			710 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
+		(128 >> 8) & 0xff,
+		128 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(172 >> 8) & 0xff,
-		172 & 0xff}
+		(129 >> 8) & 0xff,
+		129 & 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,
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1050 >> 8) & 0xff,
-			1050 & 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 = {
-		(175 >> 8) & 0xff,
-		175 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_etype",
-		.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 = {
-			(1059 >> 8) & 0xff,
-			1059 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(722 >> 8) & 0xff,
+			722 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_TYPE >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_TYPE & 0xff},
+		ULP_THOR2_SYM_L2_TWO_VTAGS_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(176 >> 8) & 0xff,
-		176 & 0xff}
+		(133 >> 8) & 0xff,
+		133 & 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,
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1068 >> 8) & 0xff,
-			1068 & 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 = {
-		(177 >> 8) & 0xff,
-		177 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(1075 >> 8) & 0xff,
-			1075 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(728 >> 8) & 0xff,
+			728 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+		ULP_THOR2_SYM_L2_VTAG_PRESENT_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(178 >> 8) & 0xff,
-		178 & 0xff}
+		(134 >> 8) & 0xff,
+		134 & 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 = {
-			(1082 >> 8) & 0xff,
-			1082 & 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 = {
-		(179 >> 8) & 0xff,
-		179 & 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 = {
-			(1089 >> 8) & 0xff,
-			1089 & 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 = {
-		(180 >> 8) & 0xff,
-		180 & 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,
+		.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 = {
-			(1096 >> 8) & 0xff,
-			1096 & 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 = {
-		(181 >> 8) & 0xff,
-		181 & 0xff}
+			(734 >> 8) & 0xff,
+			734 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(1103 >> 8) & 0xff,
-			1103 & 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 = {
-		(182 >> 8) & 0xff,
-		182 & 0xff}
+			(735 >> 8) & 0xff,
+			735 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(1110 >> 8) & 0xff,
-			1110 & 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},
+			(736 >> 8) & 0xff,
+			736 & 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}
+		(135 >> 8) & 0xff,
+		135 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(1117 >> 8) & 0xff,
-			1117 & 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},
+			(740 >> 8) & 0xff,
+			740 & 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}
+		(136 >> 8) & 0xff,
+		136 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(1124 >> 8) & 0xff,
-			1124 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(744 >> 8) & 0xff,
+			744 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
+		(137 >> 8) & 0xff,
+		137 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(185 >> 8) & 0xff,
-		185 & 0xff}
+		(138 >> 8) & 0xff,
+		138 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(1138 >> 8) & 0xff,
-			1138 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(752 >> 8) & 0xff,
+			752 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_TTL & 0xff},
+		(140 >> 8) & 0xff,
+		140 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(188 >> 8) & 0xff,
-		188 & 0xff}
+		(141 >> 8) & 0xff,
+		141 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.prot",
+		.description = "tun_hdr_flags",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_flags",
 		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1152 >> 8) & 0xff,
-			1152 & 0xff,
+			(760 >> 8) & 0xff,
+			760 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(191 >> 8) & 0xff,
-		191 & 0xff}
+		(143 >> 8) & 0xff,
+		143 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1176 >> 8) & 0xff,
-			1176 & 0xff,
+			(777 >> 8) & 0xff,
+			777 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_IP_PROTO_TCP},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(198 >> 8) & 0xff,
-		198 & 0xff}
+		(150 >> 8) & 0xff,
+		150 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(1200 >> 8) & 0xff,
-			1200 & 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 = {
-		(205 >> 8) & 0xff,
-		205 & 0xff}
+			(794 >> 8) & 0xff,
+			794 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(1214 >> 8) & 0xff,
-			1214 & 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 = {
-		(208 >> 8) & 0xff,
-		208 & 0xff}
+			(795 >> 8) & 0xff,
+			795 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = 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,
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1228 >> 8) & 0xff,
-			1228 & 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 = {
-		(211 >> 8) & 0xff,
-		211 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(1244 >> 8) & 0xff,
-			1244 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(796 >> 8) & 0xff,
+			796 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(215 >> 8) & 0xff,
-		215 & 0xff}
+		ULP_THOR2_SYM_TUN_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(1260 >> 8) & 0xff,
-			1260 & 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},
+			(797 >> 8) & 0xff,
+			797 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(219 >> 8) & 0xff,
-		219 & 0xff}
+		(157 >> 8) & 0xff,
+		157 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(1276 >> 8) & 0xff,
-			1276 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(801 >> 8) & 0xff,
+			801 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_UDP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(223 >> 8) & 0xff,
-		223 & 0xff}
+		(158 >> 8) & 0xff,
+		158 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: proto_header_cache.wr */
 	{
 	.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_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(805 >> 8) & 0xff,
+			805 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(159 >> 8) & 0xff,
+		159 & 0xff}
 		},
 	.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_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1292 >> 8) & 0xff,
-			1292 & 0xff,
+			(809 >> 8) & 0xff,
+			809 & 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_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(160 >> 8) & 0xff,
+		160 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-			0xff}
+			(813 >> 8) & 0xff,
+			813 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(161 >> 8) & 0xff,
+		161 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.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 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+			(817 >> 8) & 0xff,
+			817 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(162 >> 8) & 0xff,
+		162 & 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,
+		.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 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+			(821 >> 8) & 0xff,
+			821 & 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 = "hdr_bitmap",
-		.field_bit_size = 64,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.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 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+			(826 >> 8) & 0xff,
+			826 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TL4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(165 >> 8) & 0xff,
+		165 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: em_flow_conflict_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.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 = "recycle_cnt",
-		.field_bit_size = 2,
+		.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 = "group_metadata",
+		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
-		.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}
+			(831 >> 8) & 0xff,
+			831 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(167 >> 8) & 0xff,
+		167 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
+		.description = "tl3_hdr_type",
 		.field_bit_size = 4,
 		.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 = {
-			(1298 >> 8) & 0xff,
-			1298 & 0xff,
+			(835 >> 8) & 0xff,
+			835 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(168 >> 8) & 0xff,
+		168 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-			0xff}
+			(839 >> 8) & 0xff,
+			839 & 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 = "prof_func_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.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 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+			(843 >> 8) & 0xff,
+			843 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(170 >> 8) & 0xff,
+		170 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hdr_bitmap",
-		.field_bit_size = 64,
+		.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,
-			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,
+		.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 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+			(847 >> 8) & 0xff,
+			847 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TL3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(171 >> 8) & 0xff,
+		171 & 0xff}
 		}
 	},
-	/* class_tid: 1, , table: em_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
+		.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 = "em_profile_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.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 = {
-		(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 = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+			(851 >> 8) & 0xff,
+			851 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_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 = {
-			(1616 >> 8) & 0xff,
-			1616 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 11,
+		.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 = {
-			(1618 >> 8) & 0xff,
-			1618 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+			(854 >> 8) & 0xff,
+			854 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "meta",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1620 >> 8) & 0xff,
-			1620 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.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 = "meta",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(1622 >> 8) & 0xff,
-			1622 & 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 = "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 = "rcyc_cnt",
-		.field_bit_size = 4,
+		.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 = {
-			(1624 >> 8) & 0xff,
-			1624 & 0xff,
+			(857 >> 8) & 0xff,
+			857 & 0xff,
 			(1 >> 8) & 0xff,
 			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 4,
+		.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 = {
-			(1625 >> 8) & 0xff,
-			1625 & 0xff,
+			(858 >> 8) & 0xff,
+			858 & 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_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = 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,
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(1626 >> 8) & 0xff,
-			1626 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
+		.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 = {
-			(1631 >> 8) & 0xff,
-			1631 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(859 >> 8) & 0xff,
+			859 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_TL2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(172 >> 8) & 0xff,
+		172 & 0xff}
 		}
 	},
 	{
 	.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 = {
-			(1636 >> 8) & 0xff,
-			1636 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "ot_hdr_flags",
+		.field_bit_size = 8,
+		.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 = {
-			(1640 >> 8) & 0xff,
-			1640 & 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 = "ot_hdr_flags",
+		.field_bit_size = 8,
+		.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 = {
-			(1644 >> 8) & 0xff,
-			1644 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "ot_hdr_type",
+		.field_bit_size = 5,
+		.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 = {
-			(1649 >> 8) & 0xff,
-			1649 & 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 = "ot_hdr_type",
+		.field_bit_size = 5,
+		.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 = {
-			(1654 >> 8) & 0xff,
-			1654 & 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 = "ot_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 = {
-			(1664 >> 8) & 0xff,
-			1664 & 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 = {
-		(271 >> 8) & 0xff,
-		271 & 0xff}
+		.description = "ot_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 = {
-			(1674 >> 8) & 0xff,
-			1674 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "ot_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 = {
-			(1679 >> 8) & 0xff,
-			1679 & 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 = "ot_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 = {
-			(1684 >> 8) & 0xff,
-			1684 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl4_hdr_is_tcp_udp",
+		.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 = {
-			(1688 >> 8) & 0xff,
-			1688 & 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 = "otl4_hdr_is_tcp_udp",
+		.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 = {
-			(1692 >> 8) & 0xff,
-			1692 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl4_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.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1696 >> 8) & 0xff,
-			1696 & 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 = "otl4_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.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1700 >> 8) & 0xff,
-			1700 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl4_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.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1704 >> 8) & 0xff,
-			1704 & 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 = "otl4_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.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1708 >> 8) & 0xff,
-			1708 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl4_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.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1712 >> 8) & 0xff,
-			1712 & 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 = "otl4_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.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1716 >> 8) & 0xff,
-			1716 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(272 >> 8) & 0xff,
-		272 & 0xff}
+		.description = "otl3_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 = {
-			(1724 >> 8) & 0xff,
-			1724 & 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 = {
-		(273 >> 8) & 0xff,
-		273 & 0xff}
+		.description = "otl3_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 = {
-			(1732 >> 8) & 0xff,
-			1732 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(274 >> 8) & 0xff,
-		274 & 0xff}
+		.description = "otl3_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 = {
-			(1740 >> 8) & 0xff,
-			1740 & 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 = {
-		(275 >> 8) & 0xff,
-		275 & 0xff}
+		.description = "otl3_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 = {
-			(1748 >> 8) & 0xff,
-			1748 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(276 >> 8) & 0xff,
-		276 & 0xff}
+		.description = "otl3_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 = {
-			(1756 >> 8) & 0xff,
-			1756 & 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 = {
-		(277 >> 8) & 0xff,
-		277 & 0xff}
+		.description = "otl3_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 = {
-			(1764 >> 8) & 0xff,
-			1764 & 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 = "otl3_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 = {
-			(1772 >> 8) & 0xff,
-			1772 & 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 = {
-		(279 >> 8) & 0xff,
-		279 & 0xff}
+		.description = "otl3_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 = {
-			(1780 >> 8) & 0xff,
-			1780 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(280 >> 8) & 0xff,
-		280 & 0xff}
+		.description = "otl2_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 = {
-			(1789 >> 8) & 0xff,
-			1789 & 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 = {
-		(281 >> 8) & 0xff,
-		281 & 0xff}
+		.description = "otl2_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,
+		.description = "otl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "otl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "otl2_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 = "otl2_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 = "otl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "otl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "otl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "otl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "int_ifa_tail",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "int_ifa_tail",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "int_hdr_group",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "int_hdr_group",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "int_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "int_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",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "hrec_next",
+		.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 = 8,
+		.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 = 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}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2ip_func_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2ip_func_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.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 = 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 = "metadata",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(863 >> 8) & 0xff,
+			863 & 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 = "recycle_count",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "recycle_count",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "pkt_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "pkt_type",
+		.field_bit_size = 4,
+		.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 = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "spare",
+		.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}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "padding",
+		.field_bit_size = 72,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "padding",
+		.field_bit_size = 72,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.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,
+		.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 = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1798 >> 8) & 0xff,
-			1798 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(865 >> 8) & 0xff,
+			865 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(282 >> 8) & 0xff,
-		282 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
+		.description = "l2_cntxt_id",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1804 >> 8) & 0xff,
-			1804 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(867 >> 8) & 0xff,
+			867 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.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 = {
-		(283 >> 8) & 0xff,
-		283 & 0xff}
+		(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 = "l2_dmac",
-		.field_bit_size = 48,
+		.description = "meta",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(869 >> 8) & 0xff,
+			869 & 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 = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(871 >> 8) & 0xff,
+			871 & 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 = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1810 >> 8) & 0xff,
-			1810 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
+			(873 >> 8) & 0xff,
+			873 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(284 >> 8) & 0xff,
-		284 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l2_dmac",
+		.description = "rcyc_cnt",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(874 >> 8) & 0xff,
+			874 & 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 = {
-			(1819 >> 8) & 0xff,
-			1819 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
+			(875 >> 8) & 0xff,
+			875 & 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 = {
-		(285 >> 8) & 0xff,
-		285 & 0xff}
+		(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 = {
+			(879 >> 8) & 0xff,
+			879 & 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_smac",
+		.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 = {
-			(1828 >> 8) & 0xff,
-			1828 & 0xff,
+			(883 >> 8) & 0xff,
+			883 & 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}
+		.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 = "l2_smac",
+		.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 = {
-			(1835 >> 8) & 0xff,
-			1835 & 0xff,
+			(887 >> 8) & 0xff,
+			887 & 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 = {
-		(287 >> 8) & 0xff,
-		287 & 0xff}
+		(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 = "l2_ovv",
+		.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 = {
-			(1842 >> 8) & 0xff,
-			1842 & 0xff,
+			(891 >> 8) & 0xff,
+			891 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(288 >> 8) & 0xff,
-		288 & 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_ovv",
+		.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 = {
-			(1851 >> 8) & 0xff,
-			1851 & 0xff,
+			(896 >> 8) & 0xff,
+			896 & 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 = {
-		(289 >> 8) & 0xff,
-		289 & 0xff}
+		(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_ivv",
+		.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 = {
-			(1860 >> 8) & 0xff,
-			1860 & 0xff,
+			(901 >> 8) & 0xff,
+			901 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(290 >> 8) & 0xff,
-		290 & 0xff}
+		(173 >> 8) & 0xff,
+		173 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ivv",
+		.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 = {
-			(1878 >> 8) & 0xff,
-			1878 & 0xff,
+			(911 >> 8) & 0xff,
+			911 & 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},
+		(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 = {
-		(293 >> 8) & 0xff,
-		293 & 0xff}
+		(174 >> 8) & 0xff,
+		174 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_etype",
+		.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 = {
-			(1896 >> 8) & 0xff,
-			1896 & 0xff,
+			(921 >> 8) & 0xff,
+			921 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(296 >> 8) & 0xff,
-		296 & 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_etype",
+		.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 = {
-			(1905 >> 8) & 0xff,
-			1905 & 0xff,
+			(926 >> 8) & 0xff,
+			926 & 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 = {
-		(297 >> 8) & 0xff,
-		297 & 0xff}
+		(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 = "l3.sip.ipv4",
+		.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 = {
-			(1914 >> 8) & 0xff,
-			1914 & 0xff,
+			(931 >> 8) & 0xff,
+			931 & 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}
+		.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 = "l3.sip.ipv4",
+		.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 = {
-			(1921 >> 8) & 0xff,
-			1921 & 0xff,
+			(935 >> 8) & 0xff,
+			935 & 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 = {
-		(299 >> 8) & 0xff,
-		299 & 0xff}
+		(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 = "l3.sip.ipv6",
+		.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 = {
-			(1928 >> 8) & 0xff,
-			1928 & 0xff,
+			(939 >> 8) & 0xff,
+			939 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(300 >> 8) & 0xff,
-		300 & 0xff}
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(175 >> 8) & 0xff,
+		175 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv6",
+		.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 = {
-			(1935 >> 8) & 0xff,
-			1935 & 0xff,
+			(944 >> 8) & 0xff,
+			944 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.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 = {
-		(301 >> 8) & 0xff,
-		301 & 0xff}
+		(176 >> 8) & 0xff,
+		176 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv4",
+		.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 = {
-			(1942 >> 8) & 0xff,
-			1942 & 0xff,
+			(949 >> 8) & 0xff,
+			949 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(302 >> 8) & 0xff,
-		302 & 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 = "l3.dip.ipv4",
+		.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 = {
-			(1949 >> 8) & 0xff,
-			1949 & 0xff,
+			(953 >> 8) & 0xff,
+			953 & 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 = {
-		(303 >> 8) & 0xff,
-		303 & 0xff}
+		(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.dip.ipv6",
+		.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 = {
-			(1956 >> 8) & 0xff,
-			1956 & 0xff,
+			(957 >> 8) & 0xff,
+			957 & 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}
+		.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 = "l3.dip.ipv6",
+		.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 = {
-			(1963 >> 8) & 0xff,
-			1963 & 0xff,
+			(961 >> 8) & 0xff,
+			961 & 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 = {
-		(305 >> 8) & 0xff,
-		305 & 0xff}
+		(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.ttl",
+		.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 = {
-			(1970 >> 8) & 0xff,
-			1970 & 0xff,
+			(965 >> 8) & 0xff,
+			965 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(306 >> 8) & 0xff,
-		306 & 0xff}
+		(177 >> 8) & 0xff,
+		177 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.ttl",
+		.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 = {
-			(1984 >> 8) & 0xff,
-			1984 & 0xff,
+			(973 >> 8) & 0xff,
+			973 & 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},
+		(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 = {
-		(309 >> 8) & 0xff,
-		309 & 0xff}
+		(178 >> 8) & 0xff,
+		178 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.prot",
+		.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 = {
-			(1998 >> 8) & 0xff,
-			1998 & 0xff,
+			(981 >> 8) & 0xff,
+			981 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(312 >> 8) & 0xff,
-		312 & 0xff}
+		(179 >> 8) & 0xff,
+		179 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.prot",
+		.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 = {
-			(2012 >> 8) & 0xff,
-			2012 & 0xff,
+			(989 >> 8) & 0xff,
+			989 & 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},
+		(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 = {
-		(315 >> 8) & 0xff,
-		315 & 0xff}
+		(180 >> 8) & 0xff,
+		180 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.qos",
+		.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 = {
-			(2026 >> 8) & 0xff,
-			2026 & 0xff,
+			(997 >> 8) & 0xff,
+			997 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(318 >> 8) & 0xff,
-		318 & 0xff}
+		(181 >> 8) & 0xff,
+		181 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.qos",
+		.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 = {
-			(2040 >> 8) & 0xff,
-			2040 & 0xff,
+			(1005 >> 8) & 0xff,
+			1005 & 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},
+		(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 = {
-		(321 >> 8) & 0xff,
-		321 & 0xff}
+		(182 >> 8) & 0xff,
+		182 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.src",
+		.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 = {
-			(2054 >> 8) & 0xff,
-			2054 & 0xff,
+			(1013 >> 8) & 0xff,
+			1013 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(324 >> 8) & 0xff,
-		324 & 0xff}
+		(183 >> 8) & 0xff,
+		183 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4.src",
+		.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 = {
-			(2068 >> 8) & 0xff,
-			2068 & 0xff,
+			(1021 >> 8) & 0xff,
+			1021 & 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},
+		(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 = {
-		(327 >> 8) & 0xff,
-		327 & 0xff}
+		(184 >> 8) & 0xff,
+		184 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.dst",
+		.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 = {
-			(2082 >> 8) & 0xff,
-			2082 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(1029 >> 8) & 0xff,
+			1029 & 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 = {
-		(330 >> 8) & 0xff,
-		330 & 0xff}
+		(185 >> 8) & 0xff,
+		185 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4.dst",
+		.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 = {
-			(2096 >> 8) & 0xff,
-			2096 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(1038 >> 8) & 0xff,
+			1038 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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},
+		(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 = {
-		(333 >> 8) & 0xff,
-		333 & 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
+		(186 >> 8) & 0xff,
+		186 & 0xff}
 		}
 	},
 	{
 	.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,
+		.description = "tids",
+		.field_bit_size = 24,
 		.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 = {
-			(2110 >> 8) & 0xff,
-			2110 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+			(1047 >> 8) & 0xff,
+			1047 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.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 = 8,
-		.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 = 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}
-		}
-	},
-	{
-	.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: port_table.get_def_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: 2, , table: l2_cntxt_tcam_cache.def_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}
+		(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 = {
+		(187 >> 8) & 0xff,
+		187 & 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}
+			(1053 >> 8) & 0xff,
+			1053 & 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 = {
+		(188 >> 8) & 0xff,
+		188 & 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 = "tid",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(1059 >> 8) & 0xff,
+			1059 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(189 >> 8) & 0xff,
+		189 & 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 = "tid",
+		.field_bit_size = 32,
+		.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},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1063 >> 8) & 0xff,
+			1063 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(BNXT_ULP_CF_IDX_SRV6_T_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_SRV6_T_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(190 >> 8) & 0xff,
+		190 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_smac",
+		.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 = {
-			(2149 >> 8) & 0xff,
-			2149 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1067 >> 8) & 0xff,
+			1067 & 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_ZERO
+		(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 = {
+		(191 >> 8) & 0xff,
+		191 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_smac",
+		.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 = {
-			(2151 >> 8) & 0xff,
-			2151 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1074 >> 8) & 0xff,
+			1074 & 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_ZERO
+		(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 = {
+		(192 >> 8) & 0xff,
+		192 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dmac",
+		.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 = {
-			(2153 >> 8) & 0xff,
-			2153 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1081 >> 8) & 0xff,
+			1081 & 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_ZERO
+		(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 = {
+		(193 >> 8) & 0xff,
+		193 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dmac",
+		.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 = {
-			(2155 >> 8) & 0xff,
-			2155 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1088 >> 8) & 0xff,
+			1088 & 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_ZERO
+		(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 = {
+		(194 >> 8) & 0xff,
+		194 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
+		.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 = {
-			(2157 >> 8) & 0xff,
-			2157 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1095 >> 8) & 0xff,
+			1095 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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_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 = {
+		(195 >> 8) & 0xff,
+		195 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
+		.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 = {
-			(2159 >> 8) & 0xff,
-			2159 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1104 >> 8) & 0xff,
+			1104 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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_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 = {
+		(196 >> 8) & 0xff,
+		196 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
+		.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 = {
-			(2161 >> 8) & 0xff,
-			2161 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1113 >> 8) & 0xff,
+			1113 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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
+		(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 = {
+		(197 >> 8) & 0xff,
+		197 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
+		.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 = {
-			(2163 >> 8) & 0xff,
-			2163 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1131 >> 8) & 0xff,
+			1131 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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
+		(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 = {
+		(200 >> 8) & 0xff,
+		200 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
+		.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 = {
-			(2165 >> 8) & 0xff,
-			2165 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1149 >> 8) & 0xff,
+			1149 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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
+		(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 = {
+		(203 >> 8) & 0xff,
+		203 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
+		.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 = {
-			(2167 >> 8) & 0xff,
-			2167 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1158 >> 8) & 0xff,
+			1158 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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
+		(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 = {
+		(204 >> 8) & 0xff,
+		204 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v4",
+		.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 = {
-			(2169 >> 8) & 0xff,
-			2169 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1167 >> 8) & 0xff,
+			1167 & 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_ZERO
+		(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 = {
+		(205 >> 8) & 0xff,
+		205 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v4",
+		.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 = {
-			(2171 >> 8) & 0xff,
-			2171 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1174 >> 8) & 0xff,
+			1174 & 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_ZERO
+		(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 = {
+		(206 >> 8) & 0xff,
+		206 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
+		.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 = {
-			(2173 >> 8) & 0xff,
-			2173 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1181 >> 8) & 0xff,
+			1181 & 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_ZERO
+		(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 = {
+		(207 >> 8) & 0xff,
+		207 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sport",
-		.field_bit_size = 16,
+		.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 = {
-			(2175 >> 8) & 0xff,
-			2175 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1188 >> 8) & 0xff,
+			1188 & 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_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_THOR2_SYM_DPORT_TUN_TYPE_VXLAN},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = {
+		(208 >> 8) & 0xff,
+		208 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
+		.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 = {
-			(2178 >> 8) & 0xff,
-			2178 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1195 >> 8) & 0xff,
+			1195 & 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_ZERO
+		(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 = {
+		(209 >> 8) & 0xff,
+		209 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_smac",
-		.field_bit_size = 48,
+		.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 = {
-			(2180 >> 8) & 0xff,
-			2180 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1202 >> 8) & 0xff,
+			1202 & 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_ZERO
+		(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 = {
+		(210 >> 8) & 0xff,
+		210 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
+		.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 = {
-			(2182 >> 8) & 0xff,
-			2182 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1209 >> 8) & 0xff,
+			1209 & 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_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 = {
+		(211 >> 8) & 0xff,
+		211 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dmac",
-		.field_bit_size = 48,
+		.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 = {
-			(2184 >> 8) & 0xff,
-			2184 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1216 >> 8) & 0xff,
+			1216 & 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_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 = {
+		(212 >> 8) & 0xff,
+		212 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
+		.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 = {
-			(2186 >> 8) & 0xff,
-			2186 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(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_IPV6_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = {
+		(213 >> 8) & 0xff,
+		213 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v6",
-		.field_bit_size = 128,
+		.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 = {
-			(2188 >> 8) & 0xff,
-			2188 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1237 >> 8) & 0xff,
+			1237 & 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_ZERO
+		(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 = {
+		(216 >> 8) & 0xff,
+		216 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
+		.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 = {
-			(2190 >> 8) & 0xff,
-			2190 & 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
+			(1251 >> 8) & 0xff,
+			1251 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(219 >> 8) & 0xff,
+		219 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v6",
-		.field_bit_size = 128,
+		.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 = {
-			(2192 >> 8) & 0xff,
-			2192 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(1275 >> 8) & 0xff,
+			1275 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.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_THOR2_SYM_IP_PROTO_TCP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(226 >> 8) & 0xff,
+		226 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
+		.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 = {
-			(2194 >> 8) & 0xff,
-			2194 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1299 >> 8) & 0xff,
+			1299 & 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_ZERO
+		(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 = {
+		(233 >> 8) & 0xff,
+		233 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_dip_v4",
-		.field_bit_size = 32,
+		.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 = {
-			(2196 >> 8) & 0xff,
-			2196 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(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_DST_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = {
+		(236 >> 8) & 0xff,
+		236 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
+		.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 = {
-			(2198 >> 8) & 0xff,
-			2198 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1327 >> 8) & 0xff,
+			1327 & 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_ZERO
+		(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 = {
+		(239 >> 8) & 0xff,
+		239 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sip_v4",
-		.field_bit_size = 32,
+		.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 = {
-			(2200 >> 8) & 0xff,
-			2200 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1343 >> 8) & 0xff,
+			1343 & 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_ZERO
+		(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 = {
+		(243 >> 8) & 0xff,
+		243 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_sport",
+		.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 = {
-			(2202 >> 8) & 0xff,
-			2202 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1359 >> 8) & 0xff,
+			1359 & 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_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 = {
+		(247 >> 8) & 0xff,
+		247 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tunnel_sport",
+		.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 = {
-			(2204 >> 8) & 0xff,
-			2204 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1375 >> 8) & 0xff,
+			1375 & 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_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}
+		(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 = {
+		(251 >> 8) & 0xff,
+		251 & 0xff}
 		}
 	},
-	/* class_tid: 2, , table: proto_header_cache.rd */
+	/* class_tid: 1, , table: proto_header_cache.wr */
 	{
 	.field_info_mask = {
 		.description = "group_metadata",
@@ -28985,8 +30108,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(2216 >> 8) & 0xff,
-			2216 & 0xff,
+			(1392 >> 8) & 0xff,
+			1392 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
@@ -29041,7 +30164,21 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
-	/* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
+	/* 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",
@@ -29057,8 +30194,8 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(2219 >> 8) & 0xff,
-			2219 & 0xff,
+			(1400 >> 8) & 0xff,
+			1400 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
@@ -29087,7 +30224,6 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
-	/* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
 	{
 	.field_info_mask = {
 		.description = "hdr_bitmap",
@@ -29110,1016 +30246,1195 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_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: hdr_overlap_cache.overlap_wr */
+	/* class_tid: 1, , table: em_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "group_metadata",
-		.field_bit_size = 4,
+		.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 = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.description = "em_profile_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(2577 >> 8) & 0xff,
-			2577 & 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
+		(BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.description = "l2_cntxt_id",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(1722 >> 8) & 0xff,
+			1722 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 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 = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.description = "l2_cntxt_id",
+		.field_bit_size = 11,
+		.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}
+			(1724 >> 8) & 0xff,
+			1724 & 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
 		}
 	},
-	/* class_tid: 2, , 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 = "meta",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+			(1726 >> 8) & 0xff,
+			1726 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 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 = "meta",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_HDR_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
+			(1728 >> 8) & 0xff,
+			1728 & 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
 		}
 	},
-	/* class_tid: 2, , table: profile_tcam.gen_template */
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_dcn_present",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "rcyc_cnt",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1730 >> 8) & 0xff,
+			1730 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_dcn_present",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "rcyc_cnt",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1731 >> 8) & 0xff,
+			1731 & 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 = "l4_hdr_flags",
-		.field_bit_size = 9,
-		.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 = {
+			(1732 >> 8) & 0xff,
+			1732 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_flags",
-		.field_bit_size = 9,
-		.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 = {
+			(1737 >> 8) & 0xff,
+			1737 & 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 = "l4_hdr_subtype",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = 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 = {
+			(1742 >> 8) & 0xff,
+			1742 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_subtype",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = 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 = {
+			(1746 >> 8) & 0xff,
+			1746 & 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 = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.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 = {
-			(2596 >> 8) & 0xff,
-			2596 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1750 >> 8) & 0xff,
+			1750 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(397 >> 8) & 0xff,
-		397 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.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 = {
-			(2604 >> 8) & 0xff,
-			2604 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1755 >> 8) & 0xff,
+			1755 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(400 >> 8) & 0xff,
-		400 & 0xff}
+		(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 = "l4_hdr_type",
-		.field_bit_size = 4,
+		.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,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1760 >> 8) & 0xff,
+			1760 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(403 >> 8) & 0xff,
-		403 & 0xff}
+		(299 >> 8) & 0xff,
+		299 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2620 >> 8) & 0xff,
-			2620 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(1770 >> 8) & 0xff,
+			1770 & 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 = {
-		(406 >> 8) & 0xff,
-		406 & 0xff}
+		(300 >> 8) & 0xff,
+		300 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.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 = {
-			(2628 >> 8) & 0xff,
-			2628 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1780 >> 8) & 0xff,
+			1780 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(409 >> 8) & 0xff,
-		409 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.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 = {
-			(2636 >> 8) & 0xff,
-			2636 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(412 >> 8) & 0xff,
-		412 & 0xff}
+			(1785 >> 8) & 0xff,
+			1785 & 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 = "l4_hdr_valid",
-		.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 = {
-			(2644 >> 8) & 0xff,
-			2644 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1790 >> 8) & 0xff,
+			1790 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(415 >> 8) & 0xff,
-		415 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_valid",
-		.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 = {
-			(2652 >> 8) & 0xff,
-			2652 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1794 >> 8) & 0xff,
+			1794 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(418 >> 8) & 0xff,
-		418 & 0xff}
+		(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 = "l3_protocol",
-		.field_bit_size = 8,
-		.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 = {
+			(1798 >> 8) & 0xff,
+			1798 & 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_protocol",
-		.field_bit_size = 8,
-		.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 = {
+			(1802 >> 8) & 0xff,
+			1802 & 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 = "l3_hdr_isIP",
-		.field_bit_size = 1,
+		.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 = {
-			(2660 >> 8) & 0xff,
-			2660 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1806 >> 8) & 0xff,
+			1806 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(421 >> 8) & 0xff,
-		421 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_isIP",
-		.field_bit_size = 1,
+		.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 = {
-			(2668 >> 8) & 0xff,
-			2668 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1810 >> 8) & 0xff,
+			1810 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(424 >> 8) & 0xff,
-		424 & 0xff}
+		(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_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2676 >> 8) & 0xff,
-			2676 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1814 >> 8) & 0xff,
+			1814 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(427 >> 8) & 0xff,
-		427 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2684 >> 8) & 0xff,
-			2684 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1818 >> 8) & 0xff,
+			1818 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_TYPE_IPV6},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(430 >> 8) & 0xff,
-		430 & 0xff}
+		(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_hdr_error",
-		.field_bit_size = 1,
+		.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 = {
-			(2692 >> 8) & 0xff,
-			2692 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1822 >> 8) & 0xff,
+			1822 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(433 >> 8) & 0xff,
-		433 & 0xff}
+		(301 >> 8) & 0xff,
+		301 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_error",
-		.field_bit_size = 1,
+		.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 = {
-			(2700 >> 8) & 0xff,
-			2700 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(1830 >> 8) & 0xff,
+			1830 & 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 = {
-		(436 >> 8) & 0xff,
-		436 & 0xff}
+		(302 >> 8) & 0xff,
+		302 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_valid",
-		.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 = {
-			(2708 >> 8) & 0xff,
-			2708 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1838 >> 8) & 0xff,
+			1838 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(439 >> 8) & 0xff,
-		439 & 0xff}
+		(303 >> 8) & 0xff,
+		303 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3_hdr_valid",
-		.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 = {
-			(2716 >> 8) & 0xff,
-			2716 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1846 >> 8) & 0xff,
+			1846 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_VALID_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 = {
-		(442 >> 8) & 0xff,
-		442 & 0xff}
+		(304 >> 8) & 0xff,
+		304 & 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 = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(1854 >> 8) & 0xff,
+			1854 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(305 >> 8) & 0xff,
+		305 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
+		.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 = {
-			(2724 >> 8) & 0xff,
-			2724 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1862 >> 8) & 0xff,
+			1862 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L2_TWO_VTAGS_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 = {
-		(445 >> 8) & 0xff,
-		445 & 0xff}
+		(306 >> 8) & 0xff,
+		306 & 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 = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(1870 >> 8) & 0xff,
+			1870 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(307 >> 8) & 0xff,
+		307 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_vtag_present",
-		.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 = {
-			(2730 >> 8) & 0xff,
-			2730 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1878 >> 8) & 0xff,
+			1878 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L2_VTAG_PRESENT_YES},
+		(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 = {
-		(446 >> 8) & 0xff,
-		446 & 0xff}
+		(308 >> 8) & 0xff,
+		308 & 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_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 = {
+			(1886 >> 8) & 0xff,
+			1886 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(309 >> 8) & 0xff,
+		309 & 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 = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1895 >> 8) & 0xff,
+			1895 & 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 = {
+		(310 >> 8) & 0xff,
+		310 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
+		.description = "tids",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2736 >> 8) & 0xff,
-			2736 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
+			(1904 >> 8) & 0xff,
+			1904 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(311 >> 8) & 0xff,
+		311 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
+		.description = "tids",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2737 >> 8) & 0xff,
-			2737 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1910 >> 8) & 0xff,
+			1910 & 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 = {
+		(312 >> 8) & 0xff,
+		312 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
+		.description = "tid",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2738 >> 8) & 0xff,
-			2738 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1916 >> 8) & 0xff,
+			1916 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(447 >> 8) & 0xff,
-		447 & 0xff}
+		(313 >> 8) & 0xff,
+		313 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
+		.description = "tid",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2742 >> 8) & 0xff,
-			2742 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(1920 >> 8) & 0xff,
+			1920 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CF,
+		.field_opr2 = {
+		(BNXT_ULP_CF_IDX_SRV6_T_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_SRV6_T_ID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(448 >> 8) & 0xff,
-		448 & 0xff}
+		(314 >> 8) & 0xff,
+		314 & 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_dmac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(1924 >> 8) & 0xff,
+			1924 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(315 >> 8) & 0xff,
+		315 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_valid",
-		.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 = {
-			(2746 >> 8) & 0xff,
-			2746 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1933 >> 8) & 0xff,
+			1933 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L2_HDR_VALID_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 = {
-		(449 >> 8) & 0xff,
-		449 & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "tun_hdr_flags",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		(316 >> 8) & 0xff,
+		316 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2750 >> 8) & 0xff,
-			2750 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1942 >> 8) & 0xff,
+			1942 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(450 >> 8) & 0xff,
-		450 & 0xff}
+		(317 >> 8) & 0xff,
+		317 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2762 >> 8) & 0xff,
-			2762 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(1949 >> 8) & 0xff,
+			1949 & 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 = {
-		(455 >> 8) & 0xff,
-		455 & 0xff}
+		(318 >> 8) & 0xff,
+		318 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
+		.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 = {
-			(2774 >> 8) & 0xff,
-			2774 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
+			(1956 >> 8) & 0xff,
+			1956 & 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 = {
+		(319 >> 8) & 0xff,
+		319 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_err",
-		.field_bit_size = 1,
+		.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 = {
-			(2775 >> 8) & 0xff,
-			2775 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1965 >> 8) & 0xff,
+			1965 & 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 = {
+		(320 >> 8) & 0xff,
+		320 & 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 = "l2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			0xff}
+			(1974 >> 8) & 0xff,
+			1974 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(321 >> 8) & 0xff,
+		321 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_valid",
-		.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 = {
-			(2776 >> 8) & 0xff,
-			2776 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1992 >> 8) & 0xff,
+			1992 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = {
+		(324 >> 8) & 0xff,
+		324 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.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 = {
-			(2777 >> 8) & 0xff,
-			2777 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2010 >> 8) & 0xff,
+			2010 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(460 >> 8) & 0xff,
-		460 & 0xff}
+		(327 >> 8) & 0xff,
+		327 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_is_udp_tcp",
-		.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 = {
-			(2781 >> 8) & 0xff,
-			2781 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2019 >> 8) & 0xff,
+			2019 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_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 = {
-		(461 >> 8) & 0xff,
-		461 & 0xff}
+		(328 >> 8) & 0xff,
+		328 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2785 >> 8) & 0xff,
-			2785 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2028 >> 8) & 0xff,
+			2028 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(462 >> 8) & 0xff,
-		462 & 0xff}
+		(329 >> 8) & 0xff,
+		329 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2789 >> 8) & 0xff,
-			2789 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(2035 >> 8) & 0xff,
+			2035 & 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 = {
-		(463 >> 8) & 0xff,
-		463 & 0xff}
+		(330 >> 8) & 0xff,
+		330 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
+		.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 = {
-			(2793 >> 8) & 0xff,
-			2793 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2042 >> 8) & 0xff,
+			2042 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(464 >> 8) & 0xff,
-		464 & 0xff}
+		(331 >> 8) & 0xff,
+		331 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4_hdr_error",
-		.field_bit_size = 1,
+		.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 = {
-			(2797 >> 8) & 0xff,
-			2797 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(2049 >> 8) & 0xff,
+			2049 & 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 = {
-		(465 >> 8) & 0xff,
-		465 & 0xff}
+		(332 >> 8) & 0xff,
+		332 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4_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 = {
-			(2801 >> 8) & 0xff,
-			2801 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2056 >> 8) & 0xff,
+			2056 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(466 >> 8) & 0xff,
-		466 & 0xff}
+		(333 >> 8) & 0xff,
+		333 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4_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 = {
-			(2806 >> 8) & 0xff,
-			2806 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2063 >> 8) & 0xff,
+			2063 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_VALID_YES},
+		(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 = {
-		(468 >> 8) & 0xff,
-		468 & 0xff}
+		(334 >> 8) & 0xff,
+		334 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_isIP",
-		.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 = {
-			(2811 >> 8) & 0xff,
-			2811 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2070 >> 8) & 0xff,
+			2070 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(470 >> 8) & 0xff,
-		470 & 0xff}
+		(335 >> 8) & 0xff,
+		335 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_isIP",
-		.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 = {
-			(2815 >> 8) & 0xff,
-			2815 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2077 >> 8) & 0xff,
+			2077 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL3_HDR_ISIP_YES},
+		(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 = {
-		(471 >> 8) & 0xff,
-		471 & 0xff}
+		(336 >> 8) & 0xff,
+		336 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2819 >> 8) & 0xff,
-			2819 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2084 >> 8) & 0xff,
+			2084 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(472 >> 8) & 0xff,
-		472 & 0xff}
+		(337 >> 8) & 0xff,
+		337 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2823 >> 8) & 0xff,
-			2823 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2098 >> 8) & 0xff,
+			2098 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6},
+		(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 = {
-		(473 >> 8) & 0xff,
-		473 & 0xff}
+		(340 >> 8) & 0xff,
+		340 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3_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 = {
-			(2827 >> 8) & 0xff,
-			2827 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2112 >> 8) & 0xff,
+			2112 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(474 >> 8) & 0xff,
-		474 & 0xff}
+		(343 >> 8) & 0xff,
+		343 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_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 = {
-			(2831 >> 8) & 0xff,
-			2831 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(2126 >> 8) & 0xff,
+			2126 & 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 = {
-		(475 >> 8) & 0xff,
-		475 & 0xff}
+		(346 >> 8) & 0xff,
+		346 & 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,
+		.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}
+			(2140 >> 8) & 0xff,
+			2140 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(349 >> 8) & 0xff,
+		349 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3_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 = {
-			(2835 >> 8) & 0xff,
-			2835 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2154 >> 8) & 0xff,
+			2154 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL3_HDR_VALID_YES},
+		(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 = {
-		(476 >> 8) & 0xff,
-		476 & 0xff}
+		(352 >> 8) & 0xff,
+		352 & 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,
+		.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}
+			(2168 >> 8) & 0xff,
+			2168 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(355 >> 8) & 0xff,
+		355 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_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 = {
-			(2839 >> 8) & 0xff,
-			2839 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2182 >> 8) & 0xff,
+			2182 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL2_TWO_VTAGS_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = {
+		(358 >> 8) & 0xff,
+		358 & 0xff}
 		}
 	},
 	{
 	.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,
+		.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}
+			(2196 >> 8) & 0xff,
+			2196 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(361 >> 8) & 0xff,
+		361 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_vtag_present",
-		.field_bit_size = 1,
+		.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 = {
-			(2842 >> 8) & 0xff,
-			2842 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2210 >> 8) & 0xff,
+			2210 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES},
-		.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 = {
+		(364 >> 8) & 0xff,
+		364 & 0xff}
 		}
 	},
+	/* class_tid: 1, , table: em_flow_conflict_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "tl2_uc_mc_bc",
+		.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 = "tl2_uc_mc_bc",
+		.description = "recycle_cnt",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -30127,418 +31442,850 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.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 = {
-			(2845 >> 8) & 0xff,
-			2845 & 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 = {
-			(2846 >> 8) & 0xff,
-			2846 & 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,
+		.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 = "tl2_hdr_valid",
-		.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 = {
-			(2847 >> 8) & 0xff,
-			2847 & 0xff,
+			(2224 >> 8) & 0xff,
+			2224 & 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_TL2_HDR_VALID_YES},
+		(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 = "ot_hdr_flags",
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "ot_hdr_flags",
+		.description = "prof_func_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_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ot_hdr_type",
-		.field_bit_size = 5,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "ot_hdr_type",
-		.field_bit_size = 5,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "ot_hdr_error",
-		.field_bit_size = 1,
+		.description = "tcam_id",
+		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "ot_hdr_error",
-		.field_bit_size = 1,
+		.description = "tcam_id",
+		.field_bit_size = 16,
 		.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_TCAM_INDEX_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: port_table.get_def_rd */
 	{
 	.field_info_mask = {
-		.description = "ot_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_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "ot_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_ZERO
+		.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: 2, , table: l2_cntxt_tcam_cache.def_rd */
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_is_tcp_udp",
-		.field_bit_size = 1,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = "otl4_hdr_is_tcp_udp",
-		.field_bit_size = 1,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = "otl4_hdr_type",
-		.field_bit_size = 4,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = "otl4_hdr_type",
-		.field_bit_size = 4,
+		.description = "svif",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = "otl4_hdr_error",
-		.field_bit_size = 1,
+		.description = "tunnel_type",
+		.field_bit_size = 4,
 		.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 = "otl4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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_THOR2_SYM_DPORT_TUN_TYPE_VXLAN},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2270 >> 8) & 0xff,
+			2270 & 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 = "otl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2272 >> 8) & 0xff,
+			2272 & 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 = "otl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2274 >> 8) & 0xff,
+			2274 & 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 = "otl3_hdr_isIP",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2276 >> 8) & 0xff,
+			2276 & 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 = "otl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2278 >> 8) & 0xff,
+			2278 & 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 = "otl3_hdr_type",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2280 >> 8) & 0xff,
+			2280 & 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 = "otl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2282 >> 8) & 0xff,
+			2282 & 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 = "otl3_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2284 >> 8) & 0xff,
+			2284 & 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 = "otl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2286 >> 8) & 0xff,
+			2286 & 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 = "otl3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2288 >> 8) & 0xff,
+			2288 & 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 = "otl2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2290 >> 8) & 0xff,
+			2290 & 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 = "otl2_two_vtags",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2292 >> 8) & 0xff,
+			2292 & 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 = "otl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2294 >> 8) & 0xff,
+			2294 & 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 = "otl2_vtag_present",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2296 >> 8) & 0xff,
+			2296 & 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 = "otl2_uc_mc_bc",
-		.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_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 = "otl2_uc_mc_bc",
-		.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_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 = "otl2_hdr_type",
-		.field_bit_size = 2,
+		.description = "tunnel_type",
+		.field_bit_size = 4,
 		.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 = "otl2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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_THOR2_SYM_DPORT_TUN_TYPE_VXLAN},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2299 >> 8) & 0xff,
+			2299 & 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 = "otl2_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2301 >> 8) & 0xff,
+			2301 & 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 = "int_ifa_tail",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2303 >> 8) & 0xff,
+			2303 & 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 = "int_ifa_tail",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2305 >> 8) & 0xff,
+			2305 & 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 = "int_hdr_group",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2307 >> 8) & 0xff,
+			2307 & 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 = "int_hdr_group",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2309 >> 8) & 0xff,
+			2309 & 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 = "int_hdr_type",
-		.field_bit_size = 2,
+		.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 = {
+			(2311 >> 8) & 0xff,
+			2311 & 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 = {
+			(2313 >> 8) & 0xff,
+			2313 & 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 = {
+			(2315 >> 8) & 0xff,
+			2315 & 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 = {
+			(2317 >> 8) & 0xff,
+			2317 & 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 = {
+			(2319 >> 8) & 0xff,
+			2319 & 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 = {
+			(2321 >> 8) & 0xff,
+			2321 & 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 = {
+			(2323 >> 8) & 0xff,
+			2323 & 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 = {
+			(2325 >> 8) & 0xff,
+			2325 & 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_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "int_hdr_type",
-		.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: 2, , table: flow_chain_cache.write */
 	{
 	.field_info_mask = {
-		.description = "hrec_next",
-		.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_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "hrec_next",
-		.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: 2, , table: proto_header_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
+		.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 = "prof_func_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.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 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+			(2337 >> 8) & 0xff,
+			2337 & 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 = "l2ip_func_id",
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2ip_func_id",
+		.description = "prof_func_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_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,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "agg_error",
-		.field_bit_size = 1,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: hdr_overlap_cache.overlap_check */
 	{
 	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 32,
+		.description = "group_metadata",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			0xff,
-			0xff,
-			0xff,
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 32,
+		.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 = {
-			(2849 >> 8) & 0xff,
-			2849 & 0xff,
+			(2340 >> 8) & 0xff,
+			2340 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
@@ -30550,591 +32297,664 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "recycle_count",
-		.field_bit_size = 4,
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "recycle_count",
-		.field_bit_size = 4,
+		.description = "prof_func_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_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 = "pkt_type",
-		.field_bit_size = 4,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "pkt_type",
-		.field_bit_size = 4,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: hdr_overlap_cache.overlap_wr */
 	{
 	.field_info_mask = {
-		.description = "loopback",
-		.field_bit_size = 1,
+		.description = "group_metadata",
+		.field_bit_size = 4,
 		.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 = "loopback",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(2698 >> 8) & 0xff,
+			2698 & 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 = "spare",
-		.field_bit_size = 2,
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "spare",
-		.field_bit_size = 2,
+		.description = "prof_func_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_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 = "valid",
-		.field_bit_size = 1,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "valid",
-		.field_bit_size = 1,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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_HDR_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_HDR_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: profile_tcam.gen_template */
 	{
 	.field_info_mask = {
-		.description = "padding",
-		.field_bit_size = 72,
+		.description = "l4_hdr_dcn_present",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "padding",
-		.field_bit_size = 72,
+		.description = "l4_hdr_dcn_present",
+		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.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 = "l4_hdr_flags",
+		.field_bit_size = 9,
 		.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 = "l4_hdr_flags",
+		.field_bit_size = 9,
 		.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 = 11,
+		.description = "l4_hdr_subtype",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l4_hdr_subtype",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.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 = {
-			(2851 >> 8) & 0xff,
-			2851 & 0xff,
+			(2717 >> 8) & 0xff,
+			2717 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(428 >> 8) & 0xff,
+		428 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_cntxt_id",
-		.field_bit_size = 11,
+		.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 = {
-			(2853 >> 8) & 0xff,
-			2853 & 0xff,
+			(2725 >> 8) & 0xff,
+			2725 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(431 >> 8) & 0xff,
+		431 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "meta",
-		.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_OR,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2855 >> 8) & 0xff,
-			2855 & 0xff,
+			(2733 >> 8) & 0xff,
+			2733 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(434 >> 8) & 0xff,
+		434 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "meta",
-		.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_OR,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2857 >> 8) & 0xff,
-			2857 & 0xff,
+			(2741 >> 8) & 0xff,
+			2741 & 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_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(437 >> 8) & 0xff,
+		437 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 4,
+		.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 = {
-			(2859 >> 8) & 0xff,
-			2859 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
+			(2749 >> 8) & 0xff,
+			2749 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(440 >> 8) & 0xff,
+		440 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "rcyc_cnt",
-		.field_bit_size = 4,
+		.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 = {
-			(2860 >> 8) & 0xff,
-			2860 & 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
+			(2757 >> 8) & 0xff,
+			2757 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(443 >> 8) & 0xff,
+		443 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
+		.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 = {
-			(2861 >> 8) & 0xff,
-			2861 & 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
+			(2765 >> 8) & 0xff,
+			2765 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(446 >> 8) & 0xff,
+		446 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_dmac",
-		.field_bit_size = 48,
+		.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 = {
-			(2865 >> 8) & 0xff,
-			2865 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2773 >> 8) & 0xff,
+			2773 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(449 >> 8) & 0xff,
+		449 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
+		.description = "l3_protocol",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l3_protocol",
+		.field_bit_size = 8,
+		.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_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2869 >> 8) & 0xff,
-			2869 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(477 >> 8) & 0xff,
-		477 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			(2781 >> 8) & 0xff,
+			2781 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(452 >> 8) & 0xff,
+		452 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_smac",
-		.field_bit_size = 48,
+		.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 = {
-			(2876 >> 8) & 0xff,
-			2876 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+			(2789 >> 8) & 0xff,
+			2789 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(478 >> 8) & 0xff,
-		478 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(455 >> 8) & 0xff,
+		455 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(2883 >> 8) & 0xff,
-			2883 & 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
+			(2797 >> 8) & 0xff,
+			2797 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(458 >> 8) & 0xff,
+		458 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(2888 >> 8) & 0xff,
-			2888 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2805 >> 8) & 0xff,
+			2805 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_L3_HDR_TYPE_IPV6},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(461 >> 8) & 0xff,
+		461 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(2893 >> 8) & 0xff,
-			2893 & 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},
+			(2813 >> 8) & 0xff,
+			2813 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(479 >> 8) & 0xff,
-		479 & 0xff}
+		(464 >> 8) & 0xff,
+		464 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(2903 >> 8) & 0xff,
-			2903 & 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},
+			(2821 >> 8) & 0xff,
+			2821 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(480 >> 8) & 0xff,
-		480 & 0xff}
+		(467 >> 8) & 0xff,
+		467 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
+		.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 = {
-			(2913 >> 8) & 0xff,
-			2913 & 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
+			(2829 >> 8) & 0xff,
+			2829 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(470 >> 8) & 0xff,
+		470 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl2_etype",
-		.field_bit_size = 16,
+		.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 = {
-			(2918 >> 8) & 0xff,
-			2918 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2837 >> 8) & 0xff,
+			2837 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(473 >> 8) & 0xff,
+		473 & 0xff}
 		}
 	},
 	{
 	.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,
+		.description = "l2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(2923 >> 8) & 0xff,
-			2923 & 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
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(2927 >> 8) & 0xff,
-			2927 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2845 >> 8) & 0xff,
+			2845 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.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_SKIP
+		ULP_THOR2_SYM_L2_TWO_VTAGS_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(476 >> 8) & 0xff,
+		476 & 0xff}
 		}
 	},
 	{
 	.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,
+		.description = "l2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(2931 >> 8) & 0xff,
-			2931 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr2 = {
-		(481 >> 8) & 0xff,
-		481 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.sip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(2936 >> 8) & 0xff,
-			2936 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+			(2851 >> 8) & 0xff,
+			2851 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(482 >> 8) & 0xff,
-		482 & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		ULP_THOR2_SYM_L2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(477 >> 8) & 0xff,
+		477 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv4",
-		.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_ZERO
+		},
+	.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 = {
-			(2941 >> 8) & 0xff,
-			2941 & 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
+			(2857 >> 8) & 0xff,
+			2857 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(2945 >> 8) & 0xff,
-			2945 & 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
+			(2858 >> 8) & 0xff,
+			2858 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(2949 >> 8) & 0xff,
-			2949 & 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
+			(2859 >> 8) & 0xff,
+			2859 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(478 >> 8) & 0xff,
+		478 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(2953 >> 8) & 0xff,
-			2953 & 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
+			(2863 >> 8) & 0xff,
+			2863 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(479 >> 8) & 0xff,
+		479 & 0xff}
 		}
 	},
 	{
 	.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,
+		.description = "l2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(2957 >> 8) & 0xff,
-			2957 & 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 = {
-		(483 >> 8) & 0xff,
-		483 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(2965 >> 8) & 0xff,
-			2965 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2867 >> 8) & 0xff,
+			2867 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_IPV6_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_TTL & 0xff},
+		ULP_THOR2_SYM_L2_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(484 >> 8) & 0xff,
-		484 & 0xff}
+		(480 >> 8) & 0xff,
+		480 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.prot",
+		.description = "tun_hdr_flags",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "tun_hdr_flags",
 		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2973 >> 8) & 0xff,
-			2973 & 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},
+			(2871 >> 8) & 0xff,
+			2871 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(485 >> 8) & 0xff,
-		485 & 0xff}
+		(481 >> 8) & 0xff,
+		481 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.prot",
-		.field_bit_size = 8,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2981 >> 8) & 0xff,
-			2981 & 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},
+			(2883 >> 8) & 0xff,
+			2883 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
 		(486 >> 8) & 0xff,
@@ -31143,118 +32963,87 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(2989 >> 8) & 0xff,
-			2989 & 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 = {
-		(487 >> 8) & 0xff,
-		487 & 0xff}
-		},
-	.field_info_spec = {
-		.description = "tl3.qos",
-		.field_bit_size = 8,
+			(2895 >> 8) & 0xff,
+			2895 & 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 = {
-			(2997 >> 8) & 0xff,
-			2997 & 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 = {
-		(488 >> 8) & 0xff,
-		488 & 0xff}
+			(2896 >> 8) & 0xff,
+			2896 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = 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,
+		.description = "tun_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(3005 >> 8) & 0xff,
-			3005 & 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 = {
-		(489 >> 8) & 0xff,
-		489 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(3013 >> 8) & 0xff,
-			3013 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2897 >> 8) & 0xff,
+			2897 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 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_NEXT,
-		.field_opr3 = {
-		(490 >> 8) & 0xff,
-		490 & 0xff}
+		ULP_THOR2_SYM_TUN_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(3021 >> 8) & 0xff,
-			3021 & 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},
+			(2898 >> 8) & 0xff,
+			2898 & 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}
 		},
 	.field_info_spec = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(3030 >> 8) & 0xff,
-			3030 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2902 >> 8) & 0xff,
+			2902 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
 		(492 >> 8) & 0xff,
@@ -31263,38 +33052,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "tids",
-		.field_bit_size = 24,
+		.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 = {
-			(3039 >> 8) & 0xff,
-			3039 & 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},
+			(2906 >> 8) & 0xff,
+			2906 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
 		(493 >> 8) & 0xff,
 		493 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
+		.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 = {
-			(3045 >> 8) & 0xff,
-			3045 & 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},
+			(2910 >> 8) & 0xff,
+			2910 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
 		(494 >> 8) & 0xff,
@@ -31303,38 +33086,32 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
+		.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 = {
-			(3051 >> 8) & 0xff,
-			3051 & 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},
+			(2914 >> 8) & 0xff,
+			2914 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
 		(495 >> 8) & 0xff,
 		495 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_dmac",
-		.field_bit_size = 48,
+		.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 = {
-			(3058 >> 8) & 0xff,
-			3058 & 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},
+			(2918 >> 8) & 0xff,
+			2918 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
 		(496 >> 8) & 0xff,
@@ -31343,118 +33120,106 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_smac",
-		.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 = {
-			(3065 >> 8) & 0xff,
-			3065 & 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},
+			(2922 >> 8) & 0xff,
+			2922 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
 		(497 >> 8) & 0xff,
 		497 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_smac",
-		.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 = {
-			(3072 >> 8) & 0xff,
-			3072 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2927 >> 8) & 0xff,
+			2927 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_ETH_SMAC & 0xff},
+		ULP_THOR2_SYM_TL4_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(498 >> 8) & 0xff,
-		498 & 0xff}
+		(499 >> 8) & 0xff,
+		499 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(3079 >> 8) & 0xff,
-			3079 & 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},
+			(2932 >> 8) & 0xff,
+			2932 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(499 >> 8) & 0xff,
-		499 & 0xff}
+		(501 >> 8) & 0xff,
+		501 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(3088 >> 8) & 0xff,
-			3088 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2936 >> 8) & 0xff,
+			2936 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_IO_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
+		ULP_THOR2_SYM_TL3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(500 >> 8) & 0xff,
-		500 & 0xff}
+		(502 >> 8) & 0xff,
+		502 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(3097 >> 8) & 0xff,
-			3097 & 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},
+			(2940 >> 8) & 0xff,
+			2940 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(501 >> 8) & 0xff,
-		501 & 0xff}
+		(503 >> 8) & 0xff,
+		503 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(3115 >> 8) & 0xff,
-			3115 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2944 >> 8) & 0xff,
+			2944 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_II_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_II_VLAN_VID & 0xff},
+		ULP_THOR2_SYM_TL3_HDR_TYPE_IPV6},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
 		(504 >> 8) & 0xff,
@@ -31463,2026 +33228,1944 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
+		.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 = {
-			(3133 >> 8) & 0xff,
-			3133 & 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},
+			(2948 >> 8) & 0xff,
+			2948 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(507 >> 8) & 0xff,
-		507 & 0xff}
+		(505 >> 8) & 0xff,
+		505 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_etype",
-		.field_bit_size = 16,
+		.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 = {
-			(3142 >> 8) & 0xff,
-			3142 & 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},
+			(2952 >> 8) & 0xff,
+			2952 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(508 >> 8) & 0xff,
-		508 & 0xff}
+		(506 >> 8) & 0xff,
+		506 & 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,
+		.description = "tl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(3151 >> 8) & 0xff,
-			3151 & 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 = {
-		(509 >> 8) & 0xff,
-		509 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(3158 >> 8) & 0xff,
-			3158 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2956 >> 8) & 0xff,
+			2956 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_SRC_ADDR & 0xff},
+		ULP_THOR2_SYM_TL3_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(510 >> 8) & 0xff,
-		510 & 0xff}
+		(507 >> 8) & 0xff,
+		507 & 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,
+		.description = "tl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(3165 >> 8) & 0xff,
-			3165 & 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 = {
-		(511 >> 8) & 0xff,
-		511 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(3172 >> 8) & 0xff,
-			3172 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2960 >> 8) & 0xff,
+			2960 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(512 >> 8) & 0xff,
-		512 & 0xff}
+		ULP_THOR2_SYM_TL2_TWO_VTAGS_YES},
+		.field_src3 = 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,
+		.description = "tl2_vtag_present",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(3179 >> 8) & 0xff,
-			3179 & 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 = {
-		(513 >> 8) & 0xff,
-		513 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(3186 >> 8) & 0xff,
-			3186 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2963 >> 8) & 0xff,
+			2963 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(514 >> 8) & 0xff,
-		514 & 0xff}
+		ULP_THOR2_SYM_TL2_VTAG_PRESENT_YES},
+		.field_src3 = 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 = {
-			(3193 >> 8) & 0xff,
-			3193 & 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 = {
-		(515 >> 8) & 0xff,
-		515 & 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 = "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 = {
-			(3200 >> 8) & 0xff,
-			3200 & 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 = {
-		(516 >> 8) & 0xff,
-		516 & 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 = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(3207 >> 8) & 0xff,
-			3207 & 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 = {
-		(517 >> 8) & 0xff,
-		517 & 0xff}
+			(2966 >> 8) & 0xff,
+			2966 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(3221 >> 8) & 0xff,
-			3221 & 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 = {
-		(520 >> 8) & 0xff,
-		520 & 0xff}
+			(2967 >> 8) & 0xff,
+			2967 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = 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,
+		.description = "tl2_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(3235 >> 8) & 0xff,
-			3235 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(523 >> 8) & 0xff,
-		523 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3259 >> 8) & 0xff,
-			3259 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(2968 >> 8) & 0xff,
+			2968 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		ULP_THOR2_SYM_IP_PROTO_TCP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(530 >> 8) & 0xff,
-		530 & 0xff}
+		ULP_THOR2_SYM_TL2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.qos",
+		.description = "ot_hdr_flags",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3283 >> 8) & 0xff,
-			3283 & 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 = {
-		(537 >> 8) & 0xff,
-		537 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "l3.qos",
+		.description = "ot_hdr_flags",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3297 >> 8) & 0xff,
-			3297 & 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 = {
-		(540 >> 8) & 0xff,
-		540 & 0xff}
+		.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 = {
-			(3311 >> 8) & 0xff,
-			3311 & 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 = {
-		(543 >> 8) & 0xff,
-		543 & 0xff}
+		.description = "ot_hdr_type",
+		.field_bit_size = 5,
+		.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 = {
-			(3327 >> 8) & 0xff,
-			3327 & 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 = {
-		(547 >> 8) & 0xff,
-		547 & 0xff}
+		.description = "ot_hdr_type",
+		.field_bit_size = 5,
+		.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 = {
-			(3343 >> 8) & 0xff,
-			3343 & 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 = {
-		(551 >> 8) & 0xff,
-		551 & 0xff}
+		.description = "ot_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.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3359 >> 8) & 0xff,
-			3359 & 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 = {
-		(555 >> 8) & 0xff,
-		555 & 0xff}
+		.description = "ot_hdr_error",
+		.field_bit_size = 1,
+		.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",
-		.field_bit_size = 4,
+		.description = "ot_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 = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(3375 >> 8) & 0xff,
-			3375 & 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
+		.description = "ot_hdr_valid",
+		.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 = 8,
+		.description = "otl4_hdr_is_tcp_udp",
+		.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 = 8,
+		.description = "otl4_hdr_is_tcp_udp",
+		.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 = "otl4_hdr_type",
+		.field_bit_size = 4,
 		.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 = "otl4_hdr_type",
+		.field_bit_size = 4,
 		.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: em_flow_conflict_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 2,
+		.description = "otl4_hdr_error",
+		.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 = "otl4_hdr_error",
+		.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 = "otl4_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 = "group_metadata",
-		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(3381 >> 8) & 0xff,
-			3381 & 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
+		.description = "otl4_hdr_valid",
+		.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 = 8,
+		.description = "otl3_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 = 8,
+		.description = "otl3_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 = "hdr_bitmap",
-		.field_bit_size = 64,
+		.description = "otl3_hdr_type",
+		.field_bit_size = 4,
 		.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 = "otl3_hdr_type",
+		.field_bit_size = 4,
 		.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: em_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "em_profile_id",
-		.field_bit_size = 8,
+		.description = "otl3_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 = "em_profile_id",
-		.field_bit_size = 8,
+		.description = "otl3_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_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 = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3699 >> 8) & 0xff,
-			3699 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl3_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_cntxt_id",
-		.field_bit_size = 11,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3701 >> 8) & 0xff,
-			3701 & 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 = "otl3_hdr_valid",
+		.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 = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(3703 >> 8) & 0xff,
-			3703 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl2_two_vtags",
+		.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 = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-		.field_opr1 = {
-			(3705 >> 8) & 0xff,
-			3705 & 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 = "otl2_two_vtags",
+		.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 = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3707 >> 8) & 0xff,
-			3707 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl2_vtag_present",
+		.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 = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3708 >> 8) & 0xff,
-			3708 & 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 = "otl2_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_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3709 >> 8) & 0xff,
-			3709 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl2_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_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3714 >> 8) & 0xff,
-			3714 & 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 = "otl2_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_smac",
-		.field_bit_size = 48,
-		.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_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl2_hdr_type",
+		.field_bit_size = 2,
+		.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 = {
-			(3723 >> 8) & 0xff,
-			3723 & 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 = "otl2_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_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3727 >> 8) & 0xff,
-			3727 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "otl2_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_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3732 >> 8) & 0xff,
-			3732 & 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 = "otl2_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_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3737 >> 8) & 0xff,
-			3737 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(602 >> 8) & 0xff,
-		602 & 0xff}
+		.description = "int_ifa_tail",
+		.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 = {
-			(3747 >> 8) & 0xff,
-			3747 & 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 = {
-		(603 >> 8) & 0xff,
-		603 & 0xff}
+		.description = "int_ifa_tail",
+		.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 = {
-			(3757 >> 8) & 0xff,
-			3757 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "int_hdr_group",
+		.field_bit_size = 2,
+		.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 = {
-			(3762 >> 8) & 0xff,
-			3762 & 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 = "int_hdr_group",
+		.field_bit_size = 2,
+		.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 = {
-			(3767 >> 8) & 0xff,
-			3767 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "int_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.sip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3771 >> 8) & 0xff,
-			3771 & 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 = "int_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.sip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.description = "hrec_next",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "hrec_next",
+		.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 = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(3775 >> 8) & 0xff,
-			3775 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff}
 		},
 	.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,
+		.description = "prof_func_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(3779 >> 8) & 0xff,
-			3779 & 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
+		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.dip.ipv4",
+		.description = "l2ip_func_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "l2ip_func_id",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.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 = 32,
-		.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 = {
-			(3783 >> 8) & 0xff,
-			3783 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.dip.ipv4",
+		.description = "metadata",
 		.field_bit_size = 32,
 		.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 = {
-			(3787 >> 8) & 0xff,
-			3787 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2970 >> 8) & 0xff,
+			2970 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.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
+		(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.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3791 >> 8) & 0xff,
-			3791 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "recycle_count",
+		.field_bit_size = 4,
+		.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 = {
-			(3795 >> 8) & 0xff,
-			3795 & 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 = "recycle_count",
+		.field_bit_size = 4,
+		.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 = {
-			(3799 >> 8) & 0xff,
-			3799 & 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 = "pkt_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 = {
-			(3807 >> 8) & 0xff,
-			3807 & 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 = {
-		(605 >> 8) & 0xff,
-		605 & 0xff}
+		.description = "pkt_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,
+		.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 = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "spare",
+		.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 = {
-			(3815 >> 8) & 0xff,
-			3815 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(606 >> 8) & 0xff,
-		606 & 0xff}
+		1}
 		},
 	.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,
+		.description = "valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(3823 >> 8) & 0xff,
-			3823 & 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 = {
-		(607 >> 8) & 0xff,
-		607 & 0xff}
+		1}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl3.qos",
+		.description = "padding",
+		.field_bit_size = 72,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "padding",
+		.field_bit_size = 72,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.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,
-		.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 = {
-			(3831 >> 8) & 0xff,
-			3831 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(608 >> 8) & 0xff,
-		608 & 0xff}
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tl3.qos",
+		.description = "wc_profile_id",
 		.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_RF,
 		.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_O_IPV6_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV6_QOS & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(609 >> 8) & 0xff,
-		609 & 0xff}
+		(BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
+		.description = "l2_cntxt_id",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3847 >> 8) & 0xff,
-			3847 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(2972 >> 8) & 0xff,
+			2972 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(610 >> 8) & 0xff,
-		610 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "tl4.src",
-		.field_bit_size = 16,
+		.description = "l2_cntxt_id",
+		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3855 >> 8) & 0xff,
-			3855 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2974 >> 8) & 0xff,
+			2974 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.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 = {
-		(611 >> 8) & 0xff,
-		611 & 0xff}
+		(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 = "tl4.dst",
-		.field_bit_size = 16,
+		.description = "meta",
+		.field_bit_size = 32,
 		.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 = {
-			(3863 >> 8) & 0xff,
-			3863 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
+			(2976 >> 8) & 0xff,
+			2976 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(612 >> 8) & 0xff,
-		612 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "tl4.dst",
-		.field_bit_size = 16,
+		.description = "meta",
+		.field_bit_size = 32,
 		.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 = {
-			(3872 >> 8) & 0xff,
-			3872 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2978 >> 8) & 0xff,
+			2978 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.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 = {
-		(613 >> 8) & 0xff,
-		613 & 0xff}
+		(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 = "tids",
-		.field_bit_size = 24,
+		.description = "rcyc_cnt",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3881 >> 8) & 0xff,
-			3881 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(2980 >> 8) & 0xff,
+			2980 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(614 >> 8) & 0xff,
-		614 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "tids",
-		.field_bit_size = 24,
+		.description = "rcyc_cnt",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3887 >> 8) & 0xff,
-			3887 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2981 >> 8) & 0xff,
+			2981 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.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 = {
-		(615 >> 8) & 0xff,
-		615 & 0xff}
+		(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_dmac",
+		.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 = {
-			(3893 >> 8) & 0xff,
-			3893 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(616 >> 8) & 0xff,
-		616 & 0xff}
+			(2982 >> 8) & 0xff,
+			2982 & 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_dmac",
+		.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 = {
-			(3902 >> 8) & 0xff,
-			3902 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
+			(2986 >> 8) & 0xff,
+			2986 & 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 = {
-		(617 >> 8) & 0xff,
-		617 & 0xff}
+		(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_smac",
+		.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 = {
-			(3911 >> 8) & 0xff,
-			3911 & 0xff,
+			(2990 >> 8) & 0xff,
+			2990 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(618 >> 8) & 0xff,
-		618 & 0xff}
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(508 >> 8) & 0xff,
+		508 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l2_smac",
+		.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 = {
-			(3918 >> 8) & 0xff,
-			3918 & 0xff,
+			(2997 >> 8) & 0xff,
+			2997 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.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 = {
-		(619 >> 8) & 0xff,
-		619 & 0xff}
+		(509 >> 8) & 0xff,
+		509 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovv",
+		.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 = {
-			(3925 >> 8) & 0xff,
-			3925 & 0xff,
+			(3004 >> 8) & 0xff,
+			3004 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(620 >> 8) & 0xff,
-		620 & 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_ovv",
+		.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 = {
-			(3934 >> 8) & 0xff,
-			3934 & 0xff,
+			(3009 >> 8) & 0xff,
+			3009 & 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 = {
-		(621 >> 8) & 0xff,
-		621 & 0xff}
+		(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_ivv",
+		.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 = {
-			(3943 >> 8) & 0xff,
-			3943 & 0xff,
+			(3014 >> 8) & 0xff,
+			3014 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(622 >> 8) & 0xff,
-		622 & 0xff}
+		(510 >> 8) & 0xff,
+		510 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_ivv",
+		.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 = {
-			(3961 >> 8) & 0xff,
-			3961 & 0xff,
+			(3024 >> 8) & 0xff,
+			3024 & 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},
+		(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 = {
-		(625 >> 8) & 0xff,
-		625 & 0xff}
+		(511 >> 8) & 0xff,
+		511 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_etype",
+		.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 = {
-			(3979 >> 8) & 0xff,
-			3979 & 0xff,
+			(3034 >> 8) & 0xff,
+			3034 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(628 >> 8) & 0xff,
-		628 & 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_etype",
+		.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 = {
-			(3988 >> 8) & 0xff,
-			3988 & 0xff,
+			(3039 >> 8) & 0xff,
+			3039 & 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 = {
-		(629 >> 8) & 0xff,
-		629 & 0xff}
+		(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 = "l3.sip.ipv4",
+		.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 = {
-			(3997 >> 8) & 0xff,
-			3997 & 0xff,
+			(3044 >> 8) & 0xff,
+			3044 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(630 >> 8) & 0xff,
-		630 & 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 = "l3.sip.ipv4",
+		.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 = {
-			(4004 >> 8) & 0xff,
-			4004 & 0xff,
+			(3048 >> 8) & 0xff,
+			3048 & 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 = {
-		(631 >> 8) & 0xff,
-		631 & 0xff}
+		(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 = "l3.sip.ipv6",
+		.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 = {
-			(4011 >> 8) & 0xff,
-			4011 & 0xff,
+			(3052 >> 8) & 0xff,
+			3052 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(632 >> 8) & 0xff,
-		632 & 0xff}
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(512 >> 8) & 0xff,
+		512 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "l3.sip.ipv6",
+		.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 = {
-			(4018 >> 8) & 0xff,
-			4018 & 0xff,
+			(3057 >> 8) & 0xff,
+			3057 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.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 = {
-		(633 >> 8) & 0xff,
-		633 & 0xff}
+		(513 >> 8) & 0xff,
+		513 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.dip.ipv4",
+		.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 = {
-			(4025 >> 8) & 0xff,
-			4025 & 0xff,
+			(3062 >> 8) & 0xff,
+			3062 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(634 >> 8) & 0xff,
-		634 & 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 = "l3.dip.ipv4",
+		.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 = {
-			(4032 >> 8) & 0xff,
-			4032 & 0xff,
+			(3066 >> 8) & 0xff,
+			3066 & 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 = {
-		(635 >> 8) & 0xff,
-		635 & 0xff}
+		(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.dip.ipv6",
+		.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 = {
-			(4039 >> 8) & 0xff,
-			4039 & 0xff,
+			(3070 >> 8) & 0xff,
+			3070 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(636 >> 8) & 0xff,
-		636 & 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 = "l3.dip.ipv6",
+		.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 = {
-			(4046 >> 8) & 0xff,
-			4046 & 0xff,
+			(3074 >> 8) & 0xff,
+			3074 & 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 = {
-		(637 >> 8) & 0xff,
-		637 & 0xff}
+		(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.ttl",
+		.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 = {
-			(4053 >> 8) & 0xff,
-			4053 & 0xff,
+			(3078 >> 8) & 0xff,
+			3078 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(638 >> 8) & 0xff,
-		638 & 0xff}
+		(514 >> 8) & 0xff,
+		514 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.ttl",
+		.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 = {
-			(4067 >> 8) & 0xff,
-			4067 & 0xff,
+			(3086 >> 8) & 0xff,
+			3086 & 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},
+		(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 = {
-		(641 >> 8) & 0xff,
-		641 & 0xff}
+		(515 >> 8) & 0xff,
+		515 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.prot",
+		.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 = {
-			(4081 >> 8) & 0xff,
-			4081 & 0xff,
+			(3094 >> 8) & 0xff,
+			3094 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(644 >> 8) & 0xff,
-		644 & 0xff}
+		(516 >> 8) & 0xff,
+		516 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.prot",
+		.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 = {
-			(4095 >> 8) & 0xff,
-			4095 & 0xff,
+			(3102 >> 8) & 0xff,
+			3102 & 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},
+		(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 = {
-		(647 >> 8) & 0xff,
-		647 & 0xff}
+		(517 >> 8) & 0xff,
+		517 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3.qos",
+		.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 = {
-			(4109 >> 8) & 0xff,
-			4109 & 0xff,
+			(3110 >> 8) & 0xff,
+			3110 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(650 >> 8) & 0xff,
-		650 & 0xff}
+		(518 >> 8) & 0xff,
+		518 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3.qos",
+		.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 = {
-			(4123 >> 8) & 0xff,
-			4123 & 0xff,
+			(3118 >> 8) & 0xff,
+			3118 & 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},
+		(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 = {
-		(653 >> 8) & 0xff,
-		653 & 0xff}
+		(519 >> 8) & 0xff,
+		519 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.src",
+		.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 = {
-			(4137 >> 8) & 0xff,
-			4137 & 0xff,
+			(3126 >> 8) & 0xff,
+			3126 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(656 >> 8) & 0xff,
-		656 & 0xff}
+		(520 >> 8) & 0xff,
+		520 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4.src",
+		.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 = {
-			(4151 >> 8) & 0xff,
-			4151 & 0xff,
+			(3134 >> 8) & 0xff,
+			3134 & 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},
+		(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 = {
-		(659 >> 8) & 0xff,
-		659 & 0xff}
+		(521 >> 8) & 0xff,
+		521 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4.dst",
+		.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 = {
-			(4165 >> 8) & 0xff,
-			4165 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(3142 >> 8) & 0xff,
+			3142 & 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 = {
-		(662 >> 8) & 0xff,
-		662 & 0xff}
+		(522 >> 8) & 0xff,
+		522 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4.dst",
+		.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 = {
-			(4179 >> 8) & 0xff,
-			4179 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(3151 >> 8) & 0xff,
+			3151 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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},
+		(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 = {
-		(665 >> 8) & 0xff,
-		665 & 0xff}
+		(523 >> 8) & 0xff,
+		523 & 0xff}
 		}
 	},
-	/* class_tid: 2, , 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
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3160 >> 8) & 0xff,
+			3160 & 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 = {
+		(524 >> 8) & 0xff,
+		524 & 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
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3166 >> 8) & 0xff,
+			3166 & 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 = {
+		(525 >> 8) & 0xff,
+		525 & 0xff}
 		}
 	},
 	{
 	.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 = "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}
+			(3172 >> 8) & 0xff,
+			3172 & 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 = {
+		(526 >> 8) & 0xff,
+		526 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "group_metadata",
-		.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_OR,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4193 >> 8) & 0xff,
-			4193 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
+			(3179 >> 8) & 0xff,
+			3179 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_JUMP_META & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = {
+		(527 >> 8) & 0xff,
+		527 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
-		.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}
+			(3186 >> 8) & 0xff,
+			3186 & 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 = {
+		(528 >> 8) & 0xff,
+		528 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+		.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 = {
-		(BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 >> 8) & 0xff,
-		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
+			(3193 >> 8) & 0xff,
+			3193 & 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 = {
+		(529 >> 8) & 0xff,
+		529 & 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,
+		.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 = {
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff,
-			0xff}
+			(3200 >> 8) & 0xff,
+			3200 & 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 = {
+		(530 >> 8) & 0xff,
+		530 & 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,
+		.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 = {
-		(BNXT_ULP_CF_IDX_PROFILE_BITMAP >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
+			(3209 >> 8) & 0xff,
+			3209 & 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 = {
+		(531 >> 8) & 0xff,
+		531 & 0xff}
 		}
 	},
-	/* class_tid: 3, , table: table_scope_cache.tsid_ing_rd */
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-			0xff}
+			(3218 >> 8) & 0xff,
+			3218 & 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 = {
+		(532 >> 8) & 0xff,
+		532 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.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 = {
-			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+			(3236 >> 8) & 0xff,
+			3236 & 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 = {
+		(535 >> 8) & 0xff,
+		535 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "loopback",
-		.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}
+			(3254 >> 8) & 0xff,
+			3254 & 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 = {
+		(538 >> 8) & 0xff,
+		538 & 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_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3263 >> 8) & 0xff,
+			3263 & 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 = {
+		(539 >> 8) & 0xff,
+		539 & 0xff}
 		}
 	},
-	/* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_dcn_present",
-		.field_bit_size = 2,
-		.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 = {
+			(3272 >> 8) & 0xff,
+			3272 & 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 = {
+		(540 >> 8) & 0xff,
+		540 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_dcn_present",
-		.field_bit_size = 2,
-		.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 = {
+			(3279 >> 8) & 0xff,
+			3279 & 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 = {
+		(541 >> 8) & 0xff,
+		541 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l4_hdr_flags",
-		.field_bit_size = 9,
-		.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 = {
+			(3286 >> 8) & 0xff,
+			3286 & 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 = {
+		(542 >> 8) & 0xff,
+		542 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l4_hdr_flags",
-		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_hdr_subtype",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l4_hdr_subtype",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.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
-		},
-	.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
+		.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 = {
+			(3293 >> 8) & 0xff,
+			3293 & 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 = {
+		(543 >> 8) & 0xff,
+		543 & 0xff}
 		}
 	},
 	{
 	.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.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3300 >> 8) & 0xff,
+			3300 & 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 = {
+		(544 >> 8) & 0xff,
+		544 & 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
+		.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 = {
+			(3307 >> 8) & 0xff,
+			3307 & 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 = {
+		(545 >> 8) & 0xff,
+		545 & 0xff}
 		}
 	},
 	{
 	.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.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3314 >> 8) & 0xff,
+			3314 & 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 = {
+		(546 >> 8) & 0xff,
+		546 & 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
+		.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 = {
+			(3321 >> 8) & 0xff,
+			3321 & 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 = {
+		(547 >> 8) & 0xff,
+		547 & 0xff}
 		}
 	},
 	{
 	.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.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3328 >> 8) & 0xff,
+			3328 & 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 = {
+		(548 >> 8) & 0xff,
+		548 & 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
+		.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 = {
+			(3342 >> 8) & 0xff,
+			3342 & 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 = {
+		(551 >> 8) & 0xff,
+		551 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l3_protocol",
+		.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 = {
+			(3356 >> 8) & 0xff,
+			3356 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(554 >> 8) & 0xff,
+		554 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "l3_protocol",
+		.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 = {
+			(3380 >> 8) & 0xff,
+			3380 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_IP_PROTO_TCP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(561 >> 8) & 0xff,
+		561 & 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_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 = {
+			(3404 >> 8) & 0xff,
+			3404 & 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 = {
+		(568 >> 8) & 0xff,
+		568 & 0xff}
 		},
 	.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
+		.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 = {
+			(3418 >> 8) & 0xff,
+			3418 & 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 = {
+		(571 >> 8) & 0xff,
+		571 & 0xff}
 		}
 	},
 	{
 	.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 = "l4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3432 >> 8) & 0xff,
+			3432 & 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 = {
+		(574 >> 8) & 0xff,
+		574 & 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
+		.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 = {
+			(3448 >> 8) & 0xff,
+			3448 & 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 = {
+		(578 >> 8) & 0xff,
+		578 & 0xff}
 		}
 	},
 	{
 	.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 = "l4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3464 >> 8) & 0xff,
+			3464 & 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 = {
+		(582 >> 8) & 0xff,
+		582 & 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
+		.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 = {
+			(3480 >> 8) & 0xff,
+			3480 & 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 = {
+		(586 >> 8) & 0xff,
+		586 & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: proto_header_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "l3_hdr_valid",
-		.field_bit_size = 1,
+		.description = "group_metadata",
+		.field_bit_size = 4,
 		.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 = "l3_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(3496 >> 8) & 0xff,
+			3496 & 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 = "l2_two_vtags",
-		.field_bit_size = 1,
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_two_vtags",
-		.field_bit_size = 1,
+		.description = "prof_func_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_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_vtag_present",
-		.field_bit_size = 1,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: em_flow_conflict_cache.rd */
 	{
 	.field_info_mask = {
-		.description = "l2_uc_mc_bc",
+		.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_uc_mc_bc",
+		.description = "recycle_cnt",
 		.field_bit_size = 2,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -33490,583 +35173,1303 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_type",
-		.field_bit_size = 2,
+		.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 = "l2_hdr_type",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(3502 >> 8) & 0xff,
+			3502 & 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 = "l2_hdr_error",
-		.field_bit_size = 1,
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_error",
-		.field_bit_size = 1,
+		.description = "prof_func_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_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "l2_hdr_valid",
-		.field_bit_size = 1,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: em_key_recipe.0 */
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_flags",
+		.description = "em_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_flags",
+		.description = "em_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_EM_PROFILE_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_cntxt_id",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3820 >> 8) & 0xff,
+			3820 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "l2_cntxt_id",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3822 >> 8) & 0xff,
+			3822 & 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 = "tun_hdr_err",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "meta",
+		.field_bit_size = 32,
+		.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_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.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
+		.description = "meta",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(3826 >> 8) & 0xff,
+			3826 & 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 = "tun_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.description = "rcyc_cnt",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3828 >> 8) & 0xff,
+			3828 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	.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
-		},
-	.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
+		.description = "rcyc_cnt",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3829 >> 8) & 0xff,
+			3829 & 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 = "tl4_hdr_type",
-		.field_bit_size = 4,
-		.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 = {
+			(3830 >> 8) & 0xff,
+			3830 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
+		.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 = {
+			(3835 >> 8) & 0xff,
+			3835 & 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 = "tl4_hdr_error",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = 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 = {
+			(3840 >> 8) & 0xff,
+			3840 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
+		.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 = {
+			(3844 >> 8) & 0xff,
+			3844 & 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 = "tl4_hdr_valid",
-		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(3848 >> 8) & 0xff,
+			3848 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
+		.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 = {
+			(3853 >> 8) & 0xff,
+			3853 & 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 = "tl3_hdr_isIP",
-		.field_bit_size = 1,
-		.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 = {
+			(3858 >> 8) & 0xff,
+			3858 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(633 >> 8) & 0xff,
+		633 & 0xff}
 		},
 	.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 = "tl2_ivv",
+		.field_bit_size = 12,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3868 >> 8) & 0xff,
+			3868 & 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 = {
+		(634 >> 8) & 0xff,
+		634 & 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 = "tl2_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3878 >> 8) & 0xff,
+			3878 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
+		.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 = {
+			(3883 >> 8) & 0xff,
+			3883 & 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 = "tl3_hdr_error",
-		.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 = {
+			(3888 >> 8) & 0xff,
+			3888 & 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_hdr_error",
-		.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 = {
+			(3892 >> 8) & 0xff,
+			3892 & 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_hdr_valid",
-		.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 = {
+			(3896 >> 8) & 0xff,
+			3896 & 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_hdr_valid",
-		.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 = {
+			(3900 >> 8) & 0xff,
+			3900 & 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 = "tl2_two_vtags",
-		.field_bit_size = 1,
-		.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 = {
+			(3904 >> 8) & 0xff,
+			3904 & 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_two_vtags",
-		.field_bit_size = 1,
-		.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 = {
+			(3908 >> 8) & 0xff,
+			3908 & 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 = "tl2_vtag_present",
-		.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 = {
+			(3912 >> 8) & 0xff,
+			3912 & 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_vtag_present",
-		.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 = {
+			(3916 >> 8) & 0xff,
+			3916 & 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 = "tl2_uc_mc_bc",
-		.field_bit_size = 2,
-		.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 = {
+			(3920 >> 8) & 0xff,
+			3920 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(635 >> 8) & 0xff,
+		635 & 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
+		.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 = {
+			(3928 >> 8) & 0xff,
+			3928 & 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 = {
+		(636 >> 8) & 0xff,
+		636 & 0xff}
 		}
 	},
 	{
 	.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 = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3936 >> 8) & 0xff,
+			3936 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(637 >> 8) & 0xff,
+		637 & 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
+		.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 = {
+			(3944 >> 8) & 0xff,
+			3944 & 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 = {
+		(638 >> 8) & 0xff,
+		638 & 0xff}
 		}
 	},
 	{
 	.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 = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3952 >> 8) & 0xff,
+			3952 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(639 >> 8) & 0xff,
+		639 & 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
+		.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 = {
+			(3960 >> 8) & 0xff,
+			3960 & 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 = {
+		(640 >> 8) & 0xff,
+		640 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ot_hdr_flags",
-		.field_bit_size = 8,
-		.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 = {
+			(3968 >> 8) & 0xff,
+			3968 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(641 >> 8) & 0xff,
+		641 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "ot_hdr_flags",
-		.field_bit_size = 8,
-		.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 = {
+			(3976 >> 8) & 0xff,
+			3976 & 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 = {
+		(642 >> 8) & 0xff,
+		642 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ot_hdr_type",
-		.field_bit_size = 5,
-		.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 = {
+			(3984 >> 8) & 0xff,
+			3984 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(643 >> 8) & 0xff,
+		643 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "ot_hdr_type",
-		.field_bit_size = 5,
-		.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 = {
+			(3993 >> 8) & 0xff,
+			3993 & 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 = {
+		(644 >> 8) & 0xff,
+		644 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ot_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 = {
+			(4002 >> 8) & 0xff,
+			4002 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(645 >> 8) & 0xff,
+		645 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "ot_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 = {
+			(4008 >> 8) & 0xff,
+			4008 & 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 = {
+		(646 >> 8) & 0xff,
+		646 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "ot_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 = {
+			(4014 >> 8) & 0xff,
+			4014 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(647 >> 8) & 0xff,
+		647 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "ot_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 = {
+			(4023 >> 8) & 0xff,
+			4023 & 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 = {
+		(648 >> 8) & 0xff,
+		648 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_is_tcp_udp",
-		.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 = {
+			(4032 >> 8) & 0xff,
+			4032 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(649 >> 8) & 0xff,
+		649 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl4_hdr_is_tcp_udp",
-		.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 = {
+			(4039 >> 8) & 0xff,
+			4039 & 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 = {
+		(650 >> 8) & 0xff,
+		650 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_type",
-		.field_bit_size = 4,
-		.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 = {
+			(4046 >> 8) & 0xff,
+			4046 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(651 >> 8) & 0xff,
+		651 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl4_hdr_type",
-		.field_bit_size = 4,
-		.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 = {
+			(4055 >> 8) & 0xff,
+			4055 & 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 = {
+		(652 >> 8) & 0xff,
+		652 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_error",
-		.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 = {
+			(4064 >> 8) & 0xff,
+			4064 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(653 >> 8) & 0xff,
+		653 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl4_hdr_error",
-		.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 = {
+			(4082 >> 8) & 0xff,
+			4082 & 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 = {
+		(656 >> 8) & 0xff,
+		656 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl4_hdr_valid",
-		.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 = {
+			(4100 >> 8) & 0xff,
+			4100 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(659 >> 8) & 0xff,
+		659 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl4_hdr_valid",
-		.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 = {
+			(4109 >> 8) & 0xff,
+			4109 & 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 = {
+		(660 >> 8) & 0xff,
+		660 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl3_hdr_isIP",
-		.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 = {
+			(4118 >> 8) & 0xff,
+			4118 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(661 >> 8) & 0xff,
+		661 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl3_hdr_isIP",
-		.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 = {
+			(4125 >> 8) & 0xff,
+			4125 & 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 = {
+		(662 >> 8) & 0xff,
+		662 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl3_hdr_type",
-		.field_bit_size = 4,
-		.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 = {
+			(4132 >> 8) & 0xff,
+			4132 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(663 >> 8) & 0xff,
+		663 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl3_hdr_type",
-		.field_bit_size = 4,
-		.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 = {
+			(4139 >> 8) & 0xff,
+			4139 & 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 = {
+		(664 >> 8) & 0xff,
+		664 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl3_hdr_error",
-		.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 = {
+			(4146 >> 8) & 0xff,
+			4146 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(665 >> 8) & 0xff,
+		665 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl3_hdr_error",
-		.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 = {
+			(4153 >> 8) & 0xff,
+			4153 & 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 = {
+		(666 >> 8) & 0xff,
+		666 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl3_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 = {
+			(4160 >> 8) & 0xff,
+			4160 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(667 >> 8) & 0xff,
+		667 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl3_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 = {
+			(4167 >> 8) & 0xff,
+			4167 & 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 = {
+		(668 >> 8) & 0xff,
+		668 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_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 = {
+			(4174 >> 8) & 0xff,
+			4174 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(669 >> 8) & 0xff,
+		669 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl2_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 = {
+			(4188 >> 8) & 0xff,
+			4188 & 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 = {
+		(672 >> 8) & 0xff,
+		672 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_vtag_present",
-		.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 = {
+			(4202 >> 8) & 0xff,
+			4202 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(675 >> 8) & 0xff,
+		675 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl2_vtag_present",
-		.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 = {
+			(4216 >> 8) & 0xff,
+			4216 & 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 = {
+		(678 >> 8) & 0xff,
+		678 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_uc_mc_bc",
-		.field_bit_size = 2,
-		.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 = {
+			(4230 >> 8) & 0xff,
+			4230 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(681 >> 8) & 0xff,
+		681 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl2_uc_mc_bc",
-		.field_bit_size = 2,
-		.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 = {
+			(4244 >> 8) & 0xff,
+			4244 & 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 = {
+		(684 >> 8) & 0xff,
+		684 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_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_AND,
+		.field_opr1 = {
+			(4258 >> 8) & 0xff,
+			4258 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(687 >> 8) & 0xff,
+		687 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl2_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_AND,
+		.field_opr1 = {
+			(4272 >> 8) & 0xff,
+			4272 & 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 = {
+		(690 >> 8) & 0xff,
+		690 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "otl2_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 = {
+			(4286 >> 8) & 0xff,
+			4286 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(693 >> 8) & 0xff,
+		693 & 0xff}
 		},
 	.field_info_spec = {
-		.description = "otl2_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 = {
+			(4300 >> 8) & 0xff,
+			4300 & 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 = {
+		(696 >> 8) & 0xff,
+		696 & 0xff}
 		}
 	},
+	/* class_tid: 2, , table: em_flow_conflict_cache.wr */
 	{
 	.field_info_mask = {
-		.description = "int_ifa_tail",
-		.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 = "int_ifa_tail",
-		.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 = "int_hdr_group",
-		.field_bit_size = 2,
+		.description = "group_metadata",
+		.field_bit_size = 4,
 		.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 = "int_hdr_group",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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 = {
+			(4314 >> 8) & 0xff,
+			4314 & 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 = "int_hdr_type",
-		.field_bit_size = 2,
+		.description = "prof_func_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "int_hdr_type",
-		.field_bit_size = 2,
+		.description = "prof_func_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_PROF_FUNC_ID_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_PROF_FUNC_ID_0 & 0xff}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "hrec_next",
-		.field_bit_size = 2,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff,
+			0xff}
 		},
 	.field_info_spec = {
-		.description = "hrec_next",
-		.field_bit_size = 2,
+		.description = "hdr_bitmap",
+		.field_bit_size = 64,
 		.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_PROFILE_BITMAP >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_PROFILE_BITMAP & 0xff}
 		}
 	},
+	/* class_tid: 3, , table: global_regfiles_cache.metadata_record_rd */
 	{
 	.field_info_mask = {
-		.description = "prof_func_id",
+		.description = "index",
 		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -34074,38 +36477,42 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "prof_func_id",
+		.description = "index",
 		.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}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_rx */
 	{
 	.field_info_mask = {
-		.description = "l2ip_func_id",
-		.field_bit_size = 8,
+		.description = "type",
+		.field_bit_size = 3,
 		.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 = "l2ip_func_id",
-		.field_bit_size = 8,
+		.description = "type",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		ULP_THOR2_SYM_GLB_IDX_META_REC_ACT}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "agg_error",
+		.description = "domain",
 		.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 = "agg_error",
+		.description = "domain",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -34113,21 +36520,23 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 32,
+		.description = "dir",
+		.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 = "metadata",
-		.field_bit_size = 32,
+		.description = "dir",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "recycle_count",
+		.description = "app_id",
 		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -34135,7 +36544,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "recycle_count",
+		.description = "app_id",
 		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -34143,51 +36552,56 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "pkt_type",
-		.field_bit_size = 4,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "pkt_type",
-		.field_bit_size = 4,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */
 	{
 	.field_info_mask = {
-		.description = "loopback",
-		.field_bit_size = 1,
+		.description = "type",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "loopback",
-		.field_bit_size = 1,
+		.description = "type",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		ULP_THOR2_SYM_GLB_IDX_META_REC_PROF}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "spare",
-		.field_bit_size = 2,
+		.description = "domain",
+		.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 = "spare",
-		.field_bit_size = 2,
+		.description = "domain",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "valid",
+		.description = "dir",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -34195,53 +36609,64 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "valid",
+		.description = "dir",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "app_id",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-		1}
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "app_id",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "padding",
-		.field_bit_size = 72,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "padding",
-		.field_bit_size = 72,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "type",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "type",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		ULP_THOR2_SYM_GLB_IDX_META_REC_LKUP}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "loopback",
+		.description = "domain",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -34249,232 +36674,254 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "loopback",
+		.description = "domain",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 3, , table: port_table.ing_wr */
 	{
 	.field_info_mask = {
-		.description = "dev.port_id",
-		.field_bit_size = 10,
+		.description = "dir",
+		.field_bit_size = 1,
 		.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,
+		.description = "dir",
+		.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 = "app_id",
+		.field_bit_size = 4,
 		.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,
+		.description = "app_id",
+		.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_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.svif_ing */
 	{
 	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_tpid_sel",
+		.description = "type",
 		.field_bit_size = 3,
 		.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_ivlan_tpid_sel",
+		.description = "type",
 		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		ULP_THOR2_SYM_GLB_IDX_META_REC_ACT}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
+		.description = "domain",
+		.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_ivlan_vid",
-		.field_bit_size = 12,
+		.description = "domain",
+		.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 = "dir",
+		.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_tpid_sel",
-		.field_bit_size = 3,
+		.description = "dir",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ovlan_vid",
-		.field_bit_size = 12,
+		.description = "app_id",
+		.field_bit_size = 4,
 		.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,
+		.description = "app_id",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "two_vtags",
-		.field_bit_size = 1,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */
 	{
 	.field_info_mask = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
+		.description = "type",
+		.field_bit_size = 3,
 		.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 = "vtag_present",
-		.field_bit_size = 1,
+		.description = "type",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		ULP_THOR2_SYM_GLB_IDX_META_REC_PROF}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "addr1",
-		.field_bit_size = 48,
+		.description = "domain",
+		.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 = "addr1",
-		.field_bit_size = 48,
+		.description = "domain",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "addr0",
-		.field_bit_size = 48,
+		.description = "dir",
+		.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 = "addr0",
-		.field_bit_size = 48,
+		.description = "dir",
+		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tunnel_id",
-		.field_bit_size = 32,
+		.description = "app_id",
+		.field_bit_size = 4,
 		.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 = 32,
+		.description = "app_id",
+		.field_bit_size = 4,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */
 	{
 	.field_info_mask = {
-		.description = "out_tun_hdr_type",
-		.field_bit_size = 5,
+		.description = "type",
+		.field_bit_size = 3,
 		.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 = "out_tun_hdr_type",
-		.field_bit_size = 5,
+		.description = "type",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		ULP_THOR2_SYM_GLB_IDX_META_REC_LKUP}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "llc",
+		.description = "domain",
 		.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 = "llc",
+		.description = "domain",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -34482,7 +36929,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "roce",
+		.description = "dir",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -34490,86 +36937,81 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "roce",
+		.description = "dir",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2ip_func",
-		.field_bit_size = 8,
+		.description = "app_id",
+		.field_bit_size = 4,
 		.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 = "l2ip_func",
-		.field_bit_size = 8,
+		.description = "app_id",
+		.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 = 32,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 32,
+		.description = "pad",
+		.field_bit_size = 119,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 3, , table: global_regfiles_cache.metadata_record_wr */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "index",
+		.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 = "svif",
-		.field_bit_size = 11,
+		.description = "index",
+		.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}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 3, , table: table_scope_cache.tsid_ing_rd */
 	{
 	.field_info_mask = {
-		.description = "parif",
+		.description = "tbl_scope",
 		.field_bit_size = 5,
 		.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 = "parif",
+		.description = "tbl_scope",
 		.field_bit_size = 5,
 		.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_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
 	{
@@ -34588,71 +37030,39 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
+	/* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */
 	{
 	.field_info_mask = {
-		.description = "recycle_cnt",
-		.field_bit_size = 4,
+		.description = "type",
+		.field_bit_size = 3,
 		.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 = 4,
+		.description = "type",
+		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "mpass_cnt",
-		.field_bit_size = 2,
+		.description = "domain",
+		.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 = "mpass_cnt",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "spare",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "spare",
-		.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",
+		.description = "domain",
 		.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: 3, , table: l2_cntxt_tcam_cache.ing_wr */
 	{
 	.field_info_mask = {
 		.description = "svif",
@@ -34673,72 +37083,58 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
 		}
 	},
-	/* class_tid: 3, , table: port_table.egr_wr_0 */
 	{
 	.field_info_mask = {
-		.description = "dev.port_id",
-		.field_bit_size = 10,
+		.description = "pad",
+		.field_bit_size = 113,
 		.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 = "pad",
+		.field_bit_size = 113,
 		.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.no_vfr_egr_rd */
+	/* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "l4_hdr_dcn_present",
+		.field_bit_size = 2,
 		.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 = "l4_hdr_dcn_present",
+		.field_bit_size = 2,
 		.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}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */
 	{
 	.field_info_mask = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "l4_hdr_flags",
+		.field_bit_size = 9,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "etype",
-		.field_bit_size = 16,
+		.description = "l4_hdr_flags",
+		.field_bit_size = 9,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_tpid_sel",
+		.description = "l4_hdr_subtype",
 		.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 = "l4_hdr_subtype",
 		.field_bit_size = 3,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -34746,55 +37142,55 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "l2_ivlan_vid",
-		.field_bit_size = 12,
+		.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 = "l2_ivlan_vid",
-		.field_bit_size = 12,
+		.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 = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
+		.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 = "l2_ovlan_tpid_sel",
-		.field_bit_size = 3,
+		.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 = "l2_ovlan_vid",
-		.field_bit_size = 12,
+		.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 = "l2_ovlan_vid",
-		.field_bit_size = 12,
+		.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 = "two_vtags",
+		.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 = "two_vtags",
+		.description = "l4_hdr_valid",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -34802,456 +37198,91 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 	},
 	{
 	.field_info_mask = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
+		.description = "l3_protocol",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
-		.description = "vtag_present",
-		.field_bit_size = 1,
+		.description = "l3_protocol",
+		.field_bit_size = 8,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
 	.field_info_mask = {
-		.description = "addr1",
-		.field_bit_size = 48,
+		.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 = "addr1",
-		.field_bit_size = 48,
+		.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 = "addr0",
-		.field_bit_size = 48,
+		.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 = "addr0",
-		.field_bit_size = 48,
+		.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 = "tunnel_id",
-		.field_bit_size = 32,
+		.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 = "tunnel_id",
-		.field_bit_size = 32,
+		.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 = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = "out_tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = "out_tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = "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 = "l2ip_func",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l2ip_func",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "metadata",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "metadata",
-		.field_bit_size = 32,
-		.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_DRV_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "parif",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "parif",
-		.field_bit_size = 5,
-		.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 = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "recycle_cnt",
-		.field_bit_size = 4,
-		.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_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
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "spare",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "spare",
-		.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: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */
-	{
-	.field_info_mask = {
-		.description = "l4_hdr_dcn_present",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l4_hdr_dcn_present",
-		.field_bit_size = 2,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_hdr_flags",
-		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l4_hdr_flags",
-		.field_bit_size = 9,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "l4_hdr_subtype",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l4_hdr_subtype",
-		.field_bit_size = 3,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		}
-	},
-	{
-	.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
-		},
-	.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
-		},
-	.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 = "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 = "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 = "l3_protocol",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-		},
-	.field_info_spec = {
-		.description = "l3_protocol",
-		.field_bit_size = 8,
-		.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
-		},
-	.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
-		},
-	.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
-		},
-	.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
-		},
-	.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
-		},
-	.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",
+		.description = "l2_vtag_present",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
@@ -35282,9 +37313,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.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 = "l2_hdr_type",
@@ -35919,7 +37948,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "recycle_count",
 		.field_bit_size = 4,
 		.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 = "recycle_count",
@@ -35947,7 +37978,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "loopback",
 		.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 = "loopback",
@@ -36002,11 +38035,49 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_wr */
+	/* class_tid: 3, , table: table_scope_cache.tsid_ing_wr */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_opr1 = {
+			0xff}
+		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "loopback",
+		.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 = "loopback",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 3, , table: port_table.ing_wr */
+	{
+	.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 = {
@@ -36014,56 +38085,58 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 			0xff}
 		},
 	.field_info_spec = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.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_DRV_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
 		}
 	},
-	/* class_tid: 3, , table: table_scope_cache.tsid_vfr_rd */
+	/* class_tid: 3, , table: port_table.egr_wr_0 */
 	{
 	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
+		.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 = "tbl_scope",
-		.field_bit_size = 5,
+		.description = "dev.port_id",
+		.field_bit_size = 10,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.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,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 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.no_vfr_egr_rd */
 	{
 	.field_info_mask = {
-		.description = "loopback",
-		.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 = "loopback",
-		.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_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
 		}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam.vf2vf_ing */
+	/* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */
 	{
 	.field_info_mask = {
 		.description = "etype",
@@ -36281,23 +38354,13 @@ 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_opr1 = {
-		(ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 24) & 0xff,
-		(ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 16) & 0xff,
-		(ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 8) & 0xff,
-		ULP_THOR2_SYM_VF_2_VFR_META_MASK & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	.field_info_spec = {
 		.description = "metadata",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr1 = {
-		(ULP_THOR2_SYM_VF_2_VF_META_VAL >> 24) & 0xff,
-		(ULP_THOR2_SYM_VF_2_VF_META_VAL >> 16) & 0xff,
-		(ULP_THOR2_SYM_VF_2_VF_META_VAL >> 8) & 0xff,
-		ULP_THOR2_SYM_VF_2_VF_META_VAL & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
@@ -36305,13 +38368,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "svif",
 		.field_bit_size = 11,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.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
+		.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}
 		}
 	},
 	{
@@ -36347,17 +38416,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.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 = "loopback",
 		.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
 		}
 	},
 	{
@@ -36379,7 +38444,9 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_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_ONES,
+		.field_opr1 = {
+			0xff}
 		},
 	.field_info_spec = {
 		.description = "mpass_cnt",
@@ -36420,83 +38487,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		1}
 		}
 	},
-	/* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */
-	{
-	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
-		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
-		}
-	},
-	{
-	.field_info_mask = {
-		.description = "loopback",
-		.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 = "loopback",
-		.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: table_scope_cache.tsid_vfr_egr_rd */
-	{
-	.field_info_mask = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_opr1 = {
-			0xff}
-		},
-	.field_info_spec = {
-		.description = "tbl_scope",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
-		.field_opr1 = {
-			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
-		}
-	},
-	{
-	.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
-		}
-	},
-	/* class_tid: 4, , table: profile_tcam_bypass.tsid_vfr_egr_catch_all */
+	/* class_tid: 3, , table: profile_tcam_bypass.non_vfr_egr_catch_all */
 	{
 	.field_info_mask = {
 		.description = "l4_hdr_dcn_present",
@@ -37432,7 +39423,28 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
-	/* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */
+	/* class_tid: 3, , table: l2_cntxt_tcam_cache.non_vfr_egr_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_DRV_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 3, , table: table_scope_cache.tsid_vfr_rd */
 	{
 	.field_info_mask = {
 		.description = "tbl_scope",
@@ -37459,37 +39471,20 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.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
-		}
-	},
-	/* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_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,
+		.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_VF_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+		1}
 		}
 	},
-	/* class_tid: 4, , table: l2_cntxt_tcam.vf2vf_egr */
+	/* class_tid: 3, , table: l2_cntxt_tcam.vf2vf_ing */
 	{
 	.field_info_mask = {
 		.description = "etype",
@@ -37707,13 +39702,23 @@ 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_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 24) & 0xff,
+		(ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 16) & 0xff,
+		(ULP_THOR2_SYM_VF_2_VFR_META_MASK >> 8) & 0xff,
+		ULP_THOR2_SYM_VF_2_VFR_META_MASK & 0xff}
 		},
 	.field_info_spec = {
 		.description = "metadata",
 		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		(ULP_THOR2_SYM_VF_2_VF_META_VAL >> 24) & 0xff,
+		(ULP_THOR2_SYM_VF_2_VF_META_VAL >> 16) & 0xff,
+		(ULP_THOR2_SYM_VF_2_VF_META_VAL >> 8) & 0xff,
+		ULP_THOR2_SYM_VF_2_VF_META_VAL & 0xff}
 		}
 	},
 	{
@@ -37721,19 +39726,13 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.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_src1 = 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_VF_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		}
 	},
 	{
@@ -37769,13 +39768,17 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		.description = "loopback",
 		.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 = "loopback",
 		.field_bit_size = 1,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr1 = {
+		1}
 		}
 	},
 	{
@@ -37838,5844 +39841,6122 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_class_key_info_list[] = {
 		1}
 		}
 	},
-	/* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */
+	/* class_tid: 3, , table: table_scope_cache.tsid_vfr_wr */
 	{
 	.field_info_mask = {
-		.description = "svif",
-		.field_bit_size = 11,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.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,
+		.description = "tbl_scope",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
 		}
 	},
-	/* class_tid: 4, , table: port_table.egr_wr_0 */
 	{
 	.field_info_mask = {
-		.description = "dev.port_id",
-		.field_bit_size = 10,
+		.description = "loopback",
+		.field_bit_size = 1,
 		.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,
+		.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_DEV_PORT_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
+		1}
 		}
-	}
-};
-
-struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
+	},
+	/* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_rd */
 	{
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_info_mask = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(12 >> 8) & 0xff,
-			12 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr3 = {
-		ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE}
+			0xff}
 		},
-	{
-		.description = "tunnel_type",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-			(24 >> 8) & 0xff,
-			24 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4},
-		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr3 = {
-		ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE}
-		},
-	/* 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}
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 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_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
+		}
+	},
+	/* class_tid: 4, , table: profile_tcam_bypass.tsid_vfr_egr_catch_all */
 	{
-		.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_mask = {
+		.description = "l4_hdr_dcn_present",
+		.field_bit_size = 2,
+		.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 = {
-		(129 >> 8) & 0xff,
-		129 & 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}
+	.field_info_spec = {
+		.description = "l4_hdr_dcn_present",
+		.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 = {
-		(132 >> 8) & 0xff,
-		132 & 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_mask = {
+		.description = "l4_hdr_flags",
+		.field_bit_size = 9,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "l4_hdr_flags",
+		.field_bit_size = 9,
+		.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 = {
-		(135 >> 8) & 0xff,
-		135 & 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_mask = {
+		.description = "l4_hdr_subtype",
+		.field_bit_size = 3,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "l4_hdr_subtype",
+		.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 = {
-		(137 >> 8) & 0xff,
-		137 & 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_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
 		},
+	.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
+		}
+	},
 	{
-		.description = "",
-		.field_bit_size = 8,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(139 >> 8) & 0xff,
-		139 & 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_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
+		}
+	},
 	{
-		.description = "tl2_ivv.en",
+	.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 = {
-		(171 >> 8) & 0xff,
-		171 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "tl3_sip0.en",
+	.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 = {
-		(200 >> 8) & 0xff,
-		200 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tl3_sip0.en",
+	.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 = {
-		(201 >> 8) & 0xff,
-		201 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "tl3_dip0.en",
+	.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 = {
-		(221 >> 8) & 0xff,
-		221 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l3_protocol",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "l3_protocol",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tl3_ttl.en",
+	.field_info_mask = {
+		.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 = {
-		(229 >> 8) & 0xff,
-		229 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "tl3_prot.en",
+	.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 = {
-		(237 >> 8) & 0xff,
-		237 & 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_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
 		},
+	.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
+		}
+	},
 	{
-		.description = "tl3_qos.en",
+	.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 = {
-		(245 >> 8) & 0xff,
-		245 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "tl4_src.en",
+	.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 = {
-		(253 >> 8) & 0xff,
-		253 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "tl4_dst.en",
+	.field_info_mask = {
+		.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 = {
-		(262 >> 8) & 0xff,
-		262 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "tids.en",
+	.field_info_mask = {
+		.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 = {
-		(269 >> 8) & 0xff,
-		269 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l2_dmac.en",
+	.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 = {
-		(276 >> 8) & 0xff,
-		276 & 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_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
 		},
+	.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.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(283 >> 8) & 0xff,
-		283 & 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_mask = {
+		.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_info_spec = {
+		.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.en",
+	.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 = {
-		(291 >> 8) & 0xff,
-		291 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "l2_ivv.en",
+	.field_info_mask = {
+		.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 = {
-		(300 >> 8) & 0xff,
-		300 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l2_ivv.en",
+	.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 = {
-		(305 >> 8) & 0xff,
-		305 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "tun_hdr_flags",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "tun_hdr_flags",
+		.field_bit_size = 8,
+		.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 = {
-		(309 >> 8) & 0xff,
-		309 & 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 = "tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l2_etype.en",
+	.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 = {
-		(318 >> 8) & 0xff,
-		318 & 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_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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_sip3.en",
+	.field_info_mask = {
+		.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 = {
-		(327 >> 8) & 0xff,
-		327 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "l3_sip2.en",
+	.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 = {
-		(336 >> 8) & 0xff,
-		336 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l3_sip1.en",
+	.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 = {
-		(345 >> 8) & 0xff,
-		345 & 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_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
 		},
+	.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
+		}
+	},
 	{
-		.description = "l3_sip0.en",
+	.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 = {
-		(354 >> 8) & 0xff,
-		354 & 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_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "l3_sip0.en",
+	.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 = {
-		(359 >> 8) & 0xff,
-		359 & 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_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
+		}
+	},
 	{
-		.description = "l3_sip0.en",
+	.field_info_mask = {
+		.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 = {
-		(363 >> 8) & 0xff,
-		363 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l3_dip3.en",
+	.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 = {
-		(372 >> 8) & 0xff,
-		372 & 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_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
 		},
+	.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
+		}
+	},
 	{
-		.description = "l3_dip2.en",
+	.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 = {
-		(381 >> 8) & 0xff,
-		381 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "l3_dip1.en",
+	.field_info_mask = {
+		.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 = {
-		(390 >> 8) & 0xff,
-		390 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "l3_dip0.en",
+	.field_info_mask = {
+		.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 = {
-		(399 >> 8) & 0xff,
-		399 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.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
+		}
+	},
 	{
-		.description = "l3_dip0.en",
+	.field_info_mask = {
+		.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 = {
-		(404 >> 8) & 0xff,
-		404 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l3_dip0.en",
+	.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 = {
-		(408 >> 8) & 0xff,
-		408 & 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_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
 		},
+	.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
+		}
+	},
 	{
-		.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 = {
-		(417 >> 8) & 0xff,
-		417 & 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_mask = {
+		.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 = "tl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_ttl.en",
+	.field_info_mask = {
+		.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 = {
-		(422 >> 8) & 0xff,
-		422 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l3_ttl.en",
+	.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 = {
-		(426 >> 8) & 0xff,
-		426 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "ot_hdr_flags",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "ot_hdr_flags",
+		.field_bit_size = 8,
+		.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 = {
-		(434 >> 8) & 0xff,
-		434 & 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 = {
-	(43 >> 8) & 0xff,
-	43 & 0xff}
+	.field_info_mask = {
+		.description = "ot_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "ot_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_prot.en",
+	.field_info_mask = {
+		.description = "ot_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(438 >> 8) & 0xff,
-		438 & 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 = {
-	(44 >> 8) & 0xff,
-	44 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "ot_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_prot.en",
+	.field_info_mask = {
+		.description = "ot_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(441 >> 8) & 0xff,
-		441 & 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 = {
-	(45 >> 8) & 0xff,
-	45 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "ot_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_prot.en",
+	.field_info_mask = {
+		.description = "otl4_hdr_is_tcp_udp",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(444 >> 8) & 0xff,
-		444 & 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 = {
-	(46 >> 8) & 0xff,
-	46 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l3_prot.en",
+	.field_info_spec = {
+		.description = "otl4_hdr_is_tcp_udp",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(449 >> 8) & 0xff,
-		449 & 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 = {
-	(47 >> 8) & 0xff,
-	47 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "otl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "otl4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_prot.en",
+	.field_info_mask = {
+		.description = "otl4_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(454 >> 8) & 0xff,
-		454 & 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 = {
-	(48 >> 8) & 0xff,
-	48 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "otl4_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_prot.en",
+	.field_info_mask = {
+		.description = "otl4_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(458 >> 8) & 0xff,
-		458 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "otl4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_qos.en",
+	.field_info_mask = {
+		.description = "otl3_hdr_isIP",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(467 >> 8) & 0xff,
-		467 & 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 = {
-	(50 >> 8) & 0xff,
-	50 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l3_qos.en",
+	.field_info_spec = {
+		.description = "otl3_hdr_isIP",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(472 >> 8) & 0xff,
-		472 & 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 = {
-	(51 >> 8) & 0xff,
-	51 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "otl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "otl3_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_qos.en",
+	.field_info_mask = {
+		.description = "otl3_hdr_error",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(476 >> 8) & 0xff,
-		476 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "otl3_hdr_error",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l4_src.en",
+	.field_info_mask = {
+		.description = "otl3_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(482 >> 8) & 0xff,
-		482 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "otl3_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l4_src.en",
+	.field_info_mask = {
+		.description = "otl2_two_vtags",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(485 >> 8) & 0xff,
-		485 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr2 = {
-	(54 >> 8) & 0xff,
-	54 & 0xff},
-	.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 = "otl2_two_vtags",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l4_src.en",
+	.field_info_mask = {
+		.description = "otl2_vtag_present",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(486 >> 8) & 0xff,
-		486 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l4_dst.en",
+	.field_info_spec = {
+		.description = "otl2_vtag_present",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(491 >> 8) & 0xff,
-		491 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "otl2_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 = "otl2_uc_mc_bc",
+		.field_bit_size = 2,
+		.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 = {
-		(494 >> 8) & 0xff,
-		494 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr2 = {
-	(57 >> 8) & 0xff,
-	57 & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_info_mask = {
+		.description = "otl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "otl2_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l4_dst.en",
+	.field_info_mask = {
+		.description = "otl2_hdr_valid",
 		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
-	.field_opr1 = {
-		(495 >> 8) & 0xff,
-		495 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	/* class_tid: 1, , table: control.profile_tcam_priority */
+	.field_info_spec = {
+		.description = "otl2_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 = {
-		(501 >> 8) & 0xff,
-		501 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(59 >> 8) & 0xff,
-	59 & 0xff}
+	.field_info_mask = {
+		.description = "int_ifa_tail",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	.field_info_spec = {
+		.description = "int_ifa_tail",
+		.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 = {
-		(503 >> 8) & 0xff,
-		503 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(60 >> 8) & 0xff,
-	60 & 0xff}
+	.field_info_mask = {
+		.description = "int_hdr_group",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "int_hdr_group",
+		.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 = {
-		(505 >> 8) & 0xff,
-		505 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(61 >> 8) & 0xff,
-	61 & 0xff}
+	.field_info_mask = {
+		.description = "int_hdr_type",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "int_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 = {
-		(507 >> 8) & 0xff,
-		507 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(62 >> 8) & 0xff,
-	62 & 0xff}
+	.field_info_mask = {
+		.description = "hrec_next",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "hrec_next",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "",
+	.field_info_mask = {
+		.description = "prof_func_id",
 		.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_CONST,
-	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(63 >> 8) & 0xff,
-	63 & 0xff}
+		.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 = 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}
+		}
+	},
 	{
-		.description = "",
+	.field_info_mask = {
+		.description = "l2ip_func_id",
 		.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,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(64 >> 8) & 0xff,
-	64 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "",
+	.field_info_spec = {
+		.description = "l2ip_func_id",
 		.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,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(65 >> 8) & 0xff,
-	65 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.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
+		}
+	},
 	{
-		.description = "",
-		.field_bit_size = 8,
-	.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_CONST,
-	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
-	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr3 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L2}
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 32,
+		.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 = {
-			(519 >> 8) & 0xff,
-			519 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(67 >> 8) & 0xff,
-		67 & 0xff}
+	.field_info_mask = {
+		.description = "recycle_count",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "recycle_count",
+		.field_bit_size = 4,
+		.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 = {
-			(521 >> 8) & 0xff,
-			521 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(68 >> 8) & 0xff,
-		68 & 0xff}
+	.field_info_mask = {
+		.description = "pkt_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "pkt_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l4_hdr_is_udp_tcp",
+	.field_info_mask = {
+		.description = "loopback",
 		.field_bit_size = 1,
-		.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},
-		.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
 		},
-	{
-		.description = "l4_hdr_is_udp_tcp",
+	.field_info_spec = {
+		.description = "loopback",
 		.field_bit_size = 1,
-		.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_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(70 >> 8) & 0xff,
-		70 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l4_hdr_is_udp_tcp",
+	.field_info_mask = {
+		.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_ONES,
 		.field_opr1 = {
-			(529 >> 8) & 0xff,
-			529 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(71 >> 8) & 0xff,
-		71 & 0xff}
+			0xff}
 		},
-	{
-		.description = "l4_hdr_is_udp_tcp",
+	.field_info_spec = {
+		.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 = {
-			(531 >> 8) & 0xff,
-			531 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
+		1}
+		}
+	},
 	{
-		.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 = {
-			(535 >> 8) & 0xff,
-			535 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(73 >> 8) & 0xff,
-		73 & 0xff}
+	.field_info_mask = {
+		.description = "padding",
+		.field_bit_size = 72,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "padding",
+		.field_bit_size = 72,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	/* class_tid: 4, , table: table_scope_cache.tsid_vfr_egr_wr */
 	{
-		.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_info_mask = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(537 >> 8) & 0xff,
-			537 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(74 >> 8) & 0xff,
-		74 & 0xff}
+			0xff}
 		},
-	{
-		.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_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
 		.field_opr1 = {
-			(539 >> 8) & 0xff,
-			539 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		}
+	},
 	{
-		.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 = {
-			(543 >> 8) & 0xff,
-			543 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(76 >> 8) & 0xff,
-		76 & 0xff}
+	.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
+		}
+	},
+	/* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_rd */
 	{
-		.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_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(545 >> 8) & 0xff,
-			545 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_TYPE_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(77 >> 8) & 0xff,
-		77 & 0xff}
+			0xff,
+			0xff}
 		},
-	{
-		.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_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(547 >> 8) & 0xff,
-			547 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_TYPE_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
+		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 4, , table: l2_cntxt_tcam.vf2vf_egr */
 	{
-		.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 = {
-			(551 >> 8) & 0xff,
-			551 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(79 >> 8) & 0xff,
-		79 & 0xff}
+	.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
+		}
+	},
 	{
-		.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 = {
-			(553 >> 8) & 0xff,
-			553 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(80 >> 8) & 0xff,
-		80 & 0xff}
+	.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
+		}
+	},
 	{
-		.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 = {
-			(555 >> 8) & 0xff,
-			555 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = 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
+		}
+	},
 	{
-		.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 = {
-			(559 >> 8) & 0xff,
-			559 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(82 >> 8) & 0xff,
-		82 & 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
 		},
+	.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 = "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 = {
-			(561 >> 8) & 0xff,
-			561 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(83 >> 8) & 0xff,
-		83 & 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
 		},
+	.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 = "l4_hdr_error",
+	.field_info_mask = {
+		.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 = {
-			(563 >> 8) & 0xff,
-			563 & 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_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
+		}
+	},
 	{
-		.description = "l4_hdr_valid",
+	.field_info_mask = {
+		.description = "vtag_present",
 		.field_bit_size = 1,
-		.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,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(85 >> 8) & 0xff,
-		85 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l4_hdr_valid",
+	.field_info_spec = {
+		.description = "vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(569 >> 8) & 0xff,
-			569 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(86 >> 8) & 0xff,
-		86 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "addr1",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "addr1",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.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 = {
-			(571 >> 8) & 0xff,
-			571 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_info_mask = {
+		.description = "addr0",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "addr0",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.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 = {
-			(575 >> 8) & 0xff,
-			575 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(88 >> 8) & 0xff,
-		88 & 0xff}
+	.field_info_mask = {
+		.description = "tunnel_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "tunnel_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.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 = {
-			(577 >> 8) & 0xff,
-			577 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(89 >> 8) & 0xff,
-		89 & 0xff}
+	.field_info_mask = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.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 = {
-			(579 >> 8) & 0xff,
-			579 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_info_mask = {
+		.description = "out_tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "out_tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_hdr_isIP",
+	.field_info_mask = {
+		.description = "llc",
 		.field_bit_size = 1,
-		.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_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(91 >> 8) & 0xff,
-		91 & 0xff}
+		.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
+		}
+	},
 	{
-		.description = "l3_hdr_isIP",
+	.field_info_mask = {
+		.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 = {
-			(585 >> 8) & 0xff,
-			585 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(92 >> 8) & 0xff,
-		92 & 0xff}
+		1}
 		},
-	{
-		.description = "l3_hdr_isIP",
+	.field_info_spec = {
+		.description = "roce",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(587 >> 8) & 0xff,
-			587 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
+	{
+	.field_info_mask = {
+		.description = "l2ip_func",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "l2ip_func",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.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 = {
-			(591 >> 8) & 0xff,
-			591 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(94 >> 8) & 0xff,
-		94 & 0xff}
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.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_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(593 >> 8) & 0xff,
-			593 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(95 >> 8) & 0xff,
-		95 & 0xff}
+			0xff,
+			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_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(595 >> 8) & 0xff,
-			595 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "parif",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = 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 = {
-			(599 >> 8) & 0xff,
-			599 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(97 >> 8) & 0xff,
-		97 & 0xff}
+	.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
+		}
+	},
 	{
-		.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 = {
-			(601 >> 8) & 0xff,
-			601 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(98 >> 8) & 0xff,
-		98 & 0xff}
+	.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
+		}
+	},
 	{
-		.description = "l3_hdr_type",
+	.field_info_mask = {
+		.description = "recycle_cnt",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(603 >> 8) & 0xff,
-			603 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l3_hdr_type",
+	.field_info_spec = {
+		.description = "recycle_cnt",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(607 >> 8) & 0xff,
-			607 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_TYPE_IPV6},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(100 >> 8) & 0xff,
-		100 & 0xff}
-		},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = 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 = {
-			(609 >> 8) & 0xff,
-			609 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(101 >> 8) & 0xff,
-		101 & 0xff}
+	.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
+		}
+	},
 	{
-		.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 = {
-			(611 >> 8) & 0xff,
-			611 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_info_mask = {
+		.description = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "l3_hdr_error",
+	.field_info_mask = {
+		.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 = {
-			(615 >> 8) & 0xff,
-			615 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(103 >> 8) & 0xff,
-		103 & 0xff}
+		1}
 		},
-	{
-		.description = "l3_hdr_error",
+	.field_info_spec = {
+		.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 = {
-			(617 >> 8) & 0xff,
-			617 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(104 >> 8) & 0xff,
-		104 & 0xff}
-		},
+		1}
+		}
+	},
+	/* class_tid: 4, , table: l2_cntxt_tcam_cache.endpoint_def_egr_wr */
 	{
-		.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_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(619 >> 8) & 0xff,
-			619 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff,
+			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_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(623 >> 8) & 0xff,
-			623 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(106 >> 8) & 0xff,
-		106 & 0xff}
-		},
+		(BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
+		}
+	},
+	/* class_tid: 4, , table: port_table.egr_wr_0 */
 	{
-		.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_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 = {
-			(625 >> 8) & 0xff,
-			625 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(107 >> 8) & 0xff,
-		107 & 0xff}
+			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: 5, , table: table_scope_cache.tsid_ing_rd */
 	{
-		.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_info_mask = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(627 >> 8) & 0xff,
-			627 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff}
 		},
+	.field_info_spec = {
+		.description = "tbl_scope",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+		.field_opr1 = {
+			(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+			BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+			(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+			BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+		}
+	},
 	{
-		.description = "l3_hdr_valid",
+	.field_info_mask = {
+		.description = "loopback",
 		.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_ONES,
 		.field_opr1 = {
-			(631 >> 8) & 0xff,
-			631 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(109 >> 8) & 0xff,
-		109 & 0xff}
+			0xff}
 		},
-	{
-		.description = "l3_hdr_valid",
+	.field_info_spec = {
+		.description = "loopback",
 		.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_ZERO
+		}
+	},
+	/* class_tid: 5, , 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 = {
-			(633 >> 8) & 0xff,
-			633 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(110 >> 8) & 0xff,
-		110 & 0xff}
+			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: 5, , table: l2_cntxt_tcam_cache.ing_rd_sock */
 	{
-		.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_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(635 >> 8) & 0xff,
-			635 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			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.svif_ing */
 	{
-		.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 = {
-			(639 >> 8) & 0xff,
-			639 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(112 >> 8) & 0xff,
-		112 & 0xff}
+	.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
+		}
+	},
 	{
-		.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 = {
-			(641 >> 8) & 0xff,
-			641 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(113 >> 8) & 0xff,
-		113 & 0xff}
+	.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
+		}
+	},
 	{
-		.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 = {
-			(643 >> 8) & 0xff,
-			643 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_VALID_YES},
-		.field_src3 = 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
+		}
+	},
 	{
-		.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 = {
-			(648 >> 8) & 0xff,
-			648 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L2_TWO_VTAGS_YES},
-		.field_src3 = 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
+		}
+	},
 	{
-		.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 = {
-			(654 >> 8) & 0xff,
-			654 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L2_VTAG_PRESENT_YES},
-		.field_src3 = 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
+		}
+	},
 	{
-		.description = "l2_hdr_error",
+	.field_info_mask = {
+		.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 = {
-			(661 >> 8) & 0xff,
-			661 & 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_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
+		}
+	},
 	{
-		.description = "l2_hdr_error",
+	.field_info_mask = {
+		.description = "vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(665 >> 8) & 0xff,
-			665 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "l2_hdr_valid",
+	.field_info_spec = {
+		.description = "vtag_present",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(669 >> 8) & 0xff,
-			669 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L2_HDR_VALID_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 = "addr1",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "addr1",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(674 >> 8) & 0xff,
-			674 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(120 >> 8) & 0xff,
-		120 & 0xff}
+	.field_info_mask = {
+		.description = "addr0",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "addr0",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(677 >> 8) & 0xff,
-			677 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(121 >> 8) & 0xff,
-		121 & 0xff}
+	.field_info_mask = {
+		.description = "tunnel_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "tunnel_id",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
+	.field_info_mask = {
 		.description = "tun_hdr_type",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(679 >> 8) & 0xff,
-			679 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(122 >> 8) & 0xff,
-		122 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
+	.field_info_spec = {
 		.description = "tun_hdr_type",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(681 >> 8) & 0xff,
-			681 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tun_hdr_type",
+	.field_info_mask = {
+		.description = "out_tun_hdr_type",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(683 >> 8) & 0xff,
-			683 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(124 >> 8) & 0xff,
-		124 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	{
-		.description = "tun_hdr_type",
+	.field_info_spec = {
+		.description = "out_tun_hdr_type",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(685 >> 8) & 0xff,
-			685 & 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_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(690 >> 8) & 0xff,
-			690 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_IP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(126 >> 8) & 0xff,
-		126 & 0xff}
+	.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
+		}
+	},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_info_mask = {
+		.description = "roce",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(693 >> 8) & 0xff,
-			693 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(127 >> 8) & 0xff,
-		127 & 0xff}
+			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 = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(695 >> 8) & 0xff,
-			695 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(128 >> 8) & 0xff,
-		128 & 0xff}
+	.field_info_mask = {
+		.description = "l2ip_func",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "l2ip_func",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(697 >> 8) & 0xff,
-			697 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_GRE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(129 >> 8) & 0xff,
-		129 & 0xff}
+	.field_info_mask = {
+		.description = "metadata",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "metadata",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.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 = {
-			(699 >> 8) & 0xff,
-			699 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(130 >> 8) & 0xff,
-		130 & 0xff}
+			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}
+		}
+	},
 	{
-		.description = "tun_hdr_type",
+	.field_info_mask = {
+		.description = "parif",
 		.field_bit_size = 5,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(701 >> 8) & 0xff,
-			701 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2},
-		.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 = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = 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 = {
-			(708 >> 8) & 0xff,
-			708 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = 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
+		}
+	},
 	{
-		.description = "tl4_hdr_is_udp_tcp",
+	.field_info_mask = {
+		.description = "loopback",
 		.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_ONES,
 		.field_opr1 = {
-			(712 >> 8) & 0xff,
-			712 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			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 = "tl4_hdr_type",
+	.field_info_mask = {
+		.description = "recycle_cnt",
 		.field_bit_size = 4,
-		.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 = {
-			(716 >> 8) & 0xff,
-			716 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff}
 		},
-	{
-		.description = "tl4_hdr_type",
+	.field_info_spec = {
+		.description = "recycle_cnt",
 		.field_bit_size = 4,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(720 >> 8) & 0xff,
-			720 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_TYPE_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.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_info_mask = {
+		.description = "mpass_cnt",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(724 >> 8) & 0xff,
-			724 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			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 = "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 = {
-			(728 >> 8) & 0xff,
-			728 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_info_mask = {
+		.description = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
 		},
+	.field_info_spec = {
+		.description = "spare",
+		.field_bit_size = 2,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+		}
+	},
 	{
-		.description = "tl4_hdr_valid",
+	.field_info_mask = {
+		.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 = {
-			(732 >> 8) & 0xff,
-			732 & 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}
+		1}
 		},
-	{
-		.description = "tl4_hdr_valid",
+	.field_info_spec = {
+		.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 = {
-			(734 >> 8) & 0xff,
-			734 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ONES
-		},
+		1}
+		}
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam_cache.ing_wr */
 	{
-		.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_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(737 >> 8) & 0xff,
-			737 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(140 >> 8) & 0xff,
-		140 & 0xff}
+			0xff,
+			0xff}
 		},
-	{
-		.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_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(739 >> 8) & 0xff,
-			739 & 0xff,
-			(1 >> 8) & 0xff,
-			1 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.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: 6, , table: l2_cntxt_tcam_cache.ing_rd */
 	{
-		.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_info_mask = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(742 >> 8) & 0xff,
-			742 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff,
+			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_info_spec = {
+		.description = "svif",
+		.field_bit_size = 11,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_CF,
 		.field_opr1 = {
-			(746 >> 8) & 0xff,
-			746 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.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: 8, , table: hot_upgrade_tcam_cache.iterate_read */
 	{
-		.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_info_mask = {
+		.description = "tcam_id",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_opr1 = {
-			(750 >> 8) & 0xff,
-			750 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			0xff,
+			0xff}
 		},
-	{
-		.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_info_spec = {
+		.description = "tcam_id",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+		.field_src1 = BNXT_ULP_FIELD_SRC_RF,
 		.field_opr1 = {
-			(754 >> 8) & 0xff,
-			754 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
-		},
+		(BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff}
+		}
+	}
+};
+
+struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	{
-		.description = "tl3_hdr_valid",
-		.field_bit_size = 1,
+		.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 = {
-			(758 >> 8) & 0xff,
-			758 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(20 >> 8) & 0xff,
+			20 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr3 = {
+		ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE}
 		},
 	{
-		.description = "tl2_hdr_valid",
-		.field_bit_size = 1,
+		.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 = {
-			(770 >> 8) & 0xff,
-			770 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(32 >> 8) & 0xff,
+			32 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		ULP_THOR2_SYM_DPORT_TUN_TYPE_VXLAN_IPV4},
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr3 = {
+		ULP_THOR2_SYM_DPORT_TUN_TYPE_GENEVE}
 		},
+	/* class_tid: 1, , table: control.dmac_calculation */
 	{
-		.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 = {
-			(815 >> 8) & 0xff,
-			815 & 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 = "",
+	.field_bit_size = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.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_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 = "tl2_ivv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(825 >> 8) & 0xff,
-			825 & 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 = "",
+		.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,
+		(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 = "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 = {
-			(852 >> 8) & 0xff,
-			852 & 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 = 48,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(43 >> 8) & 0xff,
+		43 & 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
 		},
+	/* class_tid: 1, , table: control.terminating_flow */
 	{
-		.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 = {
-			(857 >> 8) & 0xff,
-			857 & 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 = {
+		(158 >> 8) & 0xff,
+		158 & 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 = "tl3.ttl",
+		.description = "",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(878 >> 8) & 0xff,
-			878 & 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
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(161 >> 8) & 0xff,
+		161 & 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 = "tl3.ttl",
+		.description = "",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(886 >> 8) & 0xff,
-			886 & 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
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(164 >> 8) & 0xff,
+		164 & 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 = "tl3.prot",
+		.description = "",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(894 >> 8) & 0xff,
-			894 & 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
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(166 >> 8) & 0xff,
+		166 & 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 = "tl3.prot",
+		.description = "",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(902 >> 8) & 0xff,
-			902 & 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
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(168 >> 8) & 0xff,
+		168 & 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.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(910 >> 8) & 0xff,
-			910 & 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 = "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 = {
+		(204 >> 8) & 0xff,
+		204 & 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.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(918 >> 8) & 0xff,
-			918 & 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 = "tl3_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(233 >> 8) & 0xff,
+		233 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = 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 = {
-			(926 >> 8) & 0xff,
-			926 & 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 = "tl3_sip0.en",
+		.field_bit_size = 1,
+	.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
 		},
 	{
-		.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 = {
-			(934 >> 8) & 0xff,
-			934 & 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 = "tl3_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(254 >> 8) & 0xff,
+		254 & 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",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(943 >> 8) & 0xff,
-			943 & 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 = "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 = {
+		(262 >> 8) & 0xff,
+		262 & 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",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(952 >> 8) & 0xff,
-			952 & 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 = "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 = {
+		(270 >> 8) & 0xff,
+		270 & 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",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(959 >> 8) & 0xff,
-			959 & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.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 = {
+		(278 >> 8) & 0xff,
+		278 & 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",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(965 >> 8) & 0xff,
-			965 & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.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 = {
+		(286 >> 8) & 0xff,
+		286 & 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_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(972 >> 8) & 0xff,
-			972 & 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 = "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 = {
+		(295 >> 8) & 0xff,
+		295 & 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_dmac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(979 >> 8) & 0xff,
-			979 & 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 = "tids.en",
+		.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,
+		(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",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(986 >> 8) & 0xff,
-			986 & 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 = "tid.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,
+		(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",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(993 >> 8) & 0xff,
-			993 & 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_dmac.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(313 >> 8) & 0xff,
+		313 & 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",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1001 >> 8) & 0xff,
-			1001 & 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 = {
-			(1010 >> 8) & 0xff,
-			1010 & 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_smac.en",
+		.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,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = 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 = {
-			(1019 >> 8) & 0xff,
-			1019 & 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 = {
-		(170 >> 8) & 0xff,
-		170 & 0xff}
+		.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 = {
+		(328 >> 8) & 0xff,
+		328 & 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",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1024 >> 8) & 0xff,
-			1024 & 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 = {
-		(171 >> 8) & 0xff,
-		171 & 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 = {
+		(337 >> 8) & 0xff,
+		337 & 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 = {
+	(25 >> 8) & 0xff,
+	25 & 0xff}
 		},
 	{
-		.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 = {
-			(1028 >> 8) & 0xff,
-			1028 & 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.en",
+		.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_NEXT,
+	.field_opr3 = {
+	(26 >> 8) & 0xff,
+	26 & 0xff}
 		},
 	{
-		.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 = {
-			(1037 >> 8) & 0xff,
-			1037 & 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 = {
-		(173 >> 8) & 0xff,
-		173 & 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 = {
+		(346 >> 8) & 0xff,
+		346 & 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",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1042 >> 8) & 0xff,
-			1042 & 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 = {
-		(174 >> 8) & 0xff,
-		174 & 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 = {
+		(355 >> 8) & 0xff,
+		355 & 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",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1046 >> 8) & 0xff,
-			1046 & 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 = "l3_sip3.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(364 >> 8) & 0xff,
+		364 & 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",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1055 >> 8) & 0xff,
-			1055 & 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_sip2.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(373 >> 8) & 0xff,
+		373 & 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",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1064 >> 8) & 0xff,
-			1064 & 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_sip1.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(382 >> 8) & 0xff,
+		382 & 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.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1072 >> 8) & 0xff,
-			1072 & 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_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(391 >> 8) & 0xff,
+		391 & 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 = {
+	(32 >> 8) & 0xff,
+	32 & 0xff}
 		},
 	{
-		.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 = {
-			(1079 >> 8) & 0xff,
-			1079 & 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_sip0.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,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(33 >> 8) & 0xff,
+	33 & 0xff}
 		},
 	{
-		.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 = {
-			(1086 >> 8) & 0xff,
-			1086 & 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_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(400 >> 8) & 0xff,
+		400 & 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.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1093 >> 8) & 0xff,
-			1093 & 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_dip3.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(409 >> 8) & 0xff,
+		409 & 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.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1100 >> 8) & 0xff,
-			1100 & 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 = "l3_dip2.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(418 >> 8) & 0xff,
+		418 & 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.dip.ipv4",
-		.field_bit_size = 32,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1107 >> 8) & 0xff,
-			1107 & 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 = "l3_dip1.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(427 >> 8) & 0xff,
+		427 & 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.dip.ipv6",
-		.field_bit_size = 128,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1114 >> 8) & 0xff,
-			1114 & 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_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(436 >> 8) & 0xff,
+		436 & 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 = {
+	(38 >> 8) & 0xff,
+	38 & 0xff}
 		},
 	{
-		.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 = {
-			(1121 >> 8) & 0xff,
-			1121 & 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_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(441 >> 8) & 0xff,
+		441 & 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 = {
+	(39 >> 8) & 0xff,
+	39 & 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 = {
-			(1128 >> 8) & 0xff,
-			1128 & 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 = {
-		(186 >> 8) & 0xff,
-		186 & 0xff}
+		.description = "l3_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(445 >> 8) & 0xff,
+		445 & 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.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1132 >> 8) & 0xff,
-			1132 & 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 = {
-		(187 >> 8) & 0xff,
-		187 & 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 = {
+		(454 >> 8) & 0xff,
+		454 & 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 = {
+	(41 >> 8) & 0xff,
+	41 & 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 = {
-			(1135 >> 8) & 0xff,
-			1135 & 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_ttl.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(459 >> 8) & 0xff,
+		459 & 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 = {
+	(42 >> 8) & 0xff,
+	42 & 0xff}
 		},
 	{
-		.description = "l3.ttl",
+		.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 = {
+		(463 >> 8) & 0xff,
+		463 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(471 >> 8) & 0xff,
+		471 & 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 = {
+	(44 >> 8) & 0xff,
+	44 & 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 = {
+		(475 >> 8) & 0xff,
+		475 & 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 = {
+	(45 >> 8) & 0xff,
+	45 & 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 = {
+		(478 >> 8) & 0xff,
+		478 & 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 = {
+	(46 >> 8) & 0xff,
+	46 & 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 = {
+		(481 >> 8) & 0xff,
+		481 & 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 = {
+	(47 >> 8) & 0xff,
+	47 & 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 = {
+		(486 >> 8) & 0xff,
+		486 & 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 = {
+	(48 >> 8) & 0xff,
+	48 & 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 = {
+		(491 >> 8) & 0xff,
+		491 & 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 = {
+	(49 >> 8) & 0xff,
+	49 & 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 = {
+		(495 >> 8) & 0xff,
+		495 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(504 >> 8) & 0xff,
+		504 & 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 = {
+	(51 >> 8) & 0xff,
+	51 & 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 = {
+		(509 >> 8) & 0xff,
+		509 & 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 = {
+	(52 >> 8) & 0xff,
+	52 & 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 = {
+		(513 >> 8) & 0xff,
+		513 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(519 >> 8) & 0xff,
+		519 & 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_src.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(522 >> 8) & 0xff,
+		522 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr2 = {
+	(55 >> 8) & 0xff,
+	55 & 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_OR,
+	.field_opr1 = {
+		(523 >> 8) & 0xff,
+		523 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(528 >> 8) & 0xff,
+		528 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(531 >> 8) & 0xff,
+		531 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr2 = {
+	(58 >> 8) & 0xff,
+	58 & 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 = {
+		(532 >> 8) & 0xff,
+		532 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	/* 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 = {
+		(538 >> 8) & 0xff,
+		538 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(60 >> 8) & 0xff,
+	60 & 0xff}
+	},
+	{
+		.description = "",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1142 >> 8) & 0xff,
-			1142 & 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 = {
-		(189 >> 8) & 0xff,
-		189 & 0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(540 >> 8) & 0xff,
+		540 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(61 >> 8) & 0xff,
+	61 & 0xff}
 		},
 	{
-		.description = "l3.ttl",
+		.description = "",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1146 >> 8) & 0xff,
-			1146 & 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 = {
-		(190 >> 8) & 0xff,
-		190 & 0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(542 >> 8) & 0xff,
+		542 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(62 >> 8) & 0xff,
+	62 & 0xff}
 		},
 	{
-		.description = "l3.ttl",
+		.description = "",
 		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(1149 >> 8) & 0xff,
-			1149 & 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
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(544 >> 8) & 0xff,
+		544 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(63 >> 8) & 0xff,
+	63 & 0xff}
 		},
 	{
-		.description = "l3.prot",
+		.description = "",
+		.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,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(64 >> 8) & 0xff,
+	64 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(548 >> 8) & 0xff,
+		548 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(65 >> 8) & 0xff,
+	65 & 0xff}
+		},
+	{
+		.description = "",
+		.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,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(66 >> 8) & 0xff,
+	66 & 0xff}
+		},
+	{
+		.description = "",
 		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(552 >> 8) & 0xff,
+		552 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L2}
+		},
+	{
+		.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 = {
-			(1155 >> 8) & 0xff,
-			1155 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(560 >> 8) & 0xff,
+			560 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(192 >> 8) & 0xff,
-		192 & 0xff}
+		(68 >> 8) & 0xff,
+		68 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1158 >> 8) & 0xff,
-			1158 & 0xff,
+			(562 >> 8) & 0xff,
+			562 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(193 >> 8) & 0xff,
-		193 & 0xff}
+		(69 >> 8) & 0xff,
+		69 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1160 >> 8) & 0xff,
-			1160 & 0xff,
+			(564 >> 8) & 0xff,
+			564 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(194 >> 8) & 0xff,
-		194 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1162 >> 8) & 0xff,
-			1162 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(568 >> 8) & 0xff,
+			568 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
+		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(195 >> 8) & 0xff,
-		195 & 0xff}
+		(71 >> 8) & 0xff,
+		71 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1166 >> 8) & 0xff,
-			1166 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(570 >> 8) & 0xff,
+			570 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
+		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(196 >> 8) & 0xff,
-		196 & 0xff}
+		(72 >> 8) & 0xff,
+		72 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1170 >> 8) & 0xff,
-			1170 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(572 >> 8) & 0xff,
+			572 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(197 >> 8) & 0xff,
-		197 & 0xff}
+		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(1173 >> 8) & 0xff,
-			1173 & 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
+			(576 >> 8) & 0xff,
+			576 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1179 >> 8) & 0xff,
-			1179 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_IP_PROTO_UDP},
+			(578 >> 8) & 0xff,
+			578 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(199 >> 8) & 0xff,
-		199 & 0xff}
+		(75 >> 8) & 0xff,
+		75 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1182 >> 8) & 0xff,
-			1182 & 0xff,
+			(580 >> 8) & 0xff,
+			580 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		ULP_THOR2_SYM_IP_PROTO_TCP},
+		(76 >> 8) & 0xff,
+		76 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(200 >> 8) & 0xff,
-		200 & 0xff}
+		(77 >> 8) & 0xff,
+		77 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(582 >> 8) & 0xff,
+			582 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = 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 = {
-			(1184 >> 8) & 0xff,
-			1184 & 0xff,
+			(584 >> 8) & 0xff,
+			584 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_IP_PROTO_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(201 >> 8) & 0xff,
-		201 & 0xff}
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.description = "l4_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(588 >> 8) & 0xff,
+			588 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = 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 = {
-			(1186 >> 8) & 0xff,
-			1186 & 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},
+			(590 >> 8) & 0xff,
+			590 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(202 >> 8) & 0xff,
-		202 & 0xff}
+		(80 >> 8) & 0xff,
+		80 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1190 >> 8) & 0xff,
-			1190 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(592 >> 8) & 0xff,
+			592 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
+		(81 >> 8) & 0xff,
+		81 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(203 >> 8) & 0xff,
-		203 & 0xff}
+		(82 >> 8) & 0xff,
+		82 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(1194 >> 8) & 0xff,
-			1194 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(594 >> 8) & 0xff,
+			594 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(204 >> 8) & 0xff,
-		204 & 0xff}
+		ULP_THOR2_SYM_L4_HDR_TYPE_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(1197 >> 8) & 0xff,
-			1197 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(596 >> 8) & 0xff,
+			596 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_L4_HDR_TYPE_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(1204 >> 8) & 0xff,
-			1204 & 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},
+			(600 >> 8) & 0xff,
+			600 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(206 >> 8) & 0xff,
-		206 & 0xff}
+		(84 >> 8) & 0xff,
+		84 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(1208 >> 8) & 0xff,
-			1208 & 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},
+			(602 >> 8) & 0xff,
+			602 & 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}
+		(85 >> 8) & 0xff,
+		85 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(1211 >> 8) & 0xff,
-			1211 & 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
+			(604 >> 8) & 0xff,
+			604 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(1218 >> 8) & 0xff,
-			1218 & 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},
+			(608 >> 8) & 0xff,
+			608 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(209 >> 8) & 0xff,
-		209 & 0xff}
+		(87 >> 8) & 0xff,
+		87 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(1222 >> 8) & 0xff,
-			1222 & 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},
+			(610 >> 8) & 0xff,
+			610 & 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}
+		(88 >> 8) & 0xff,
+		88 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(1225 >> 8) & 0xff,
-			1225 & 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
+			(612 >> 8) & 0xff,
+			612 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4.src",
-		.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_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 		.field_opr1 = {
-			(1232 >> 8) & 0xff,
-			1232 & 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 = {
-		(212 >> 8) & 0xff,
-		212 & 0xff}
+			(616 >> 8) & 0xff,
+			616 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4.src",
-		.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 = {
-			(1236 >> 8) & 0xff,
-			1236 & 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},
+			(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 = {
-		(213 >> 8) & 0xff,
-		213 & 0xff}
+		(91 >> 8) & 0xff,
+		91 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.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 = {
-			(1239 >> 8) & 0xff,
-			1239 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(620 >> 8) & 0xff,
+			620 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		(92 >> 8) & 0xff,
+		92 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(214 >> 8) & 0xff,
-		214 & 0xff}
+		(93 >> 8) & 0xff,
+		93 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.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_OR,
 		.field_opr1 = {
-			(1242 >> 8) & 0xff,
-			1242 & 0xff,
+			(622 >> 8) & 0xff,
+			622 & 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_ZERO
 		},
 	{
-		.description = "l4.src",
-		.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 = {
-			(1248 >> 8) & 0xff,
-			1248 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(624 >> 8) & 0xff,
+			624 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "l4_hdr_valid",
+		.field_bit_size = 1,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(628 >> 8) & 0xff,
+			628 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(216 >> 8) & 0xff,
-		216 & 0xff}
+		ULP_THOR2_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4.src",
-		.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 = {
-			(1252 >> 8) & 0xff,
-			1252 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(630 >> 8) & 0xff,
+			630 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 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},
+		ULP_THOR2_SYM_L4_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(217 >> 8) & 0xff,
-		217 & 0xff}
+		(96 >> 8) & 0xff,
+		96 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.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 = {
-			(1255 >> 8) & 0xff,
-			1255 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(632 >> 8) & 0xff,
+			632 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		(97 >> 8) & 0xff,
+		97 & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(218 >> 8) & 0xff,
-		218 & 0xff}
+		(98 >> 8) & 0xff,
+		98 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.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_OR,
 		.field_opr1 = {
-			(1258 >> 8) & 0xff,
-			1258 & 0xff,
+			(634 >> 8) & 0xff,
+			634 & 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_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4.dst",
-		.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 = {
-			(1264 >> 8) & 0xff,
-			1264 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(636 >> 8) & 0xff,
+			636 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.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 = {
+			(640 >> 8) & 0xff,
+			640 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(220 >> 8) & 0xff,
-		220 & 0xff}
+		(100 >> 8) & 0xff,
+		100 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(1268 >> 8) & 0xff,
-			1268 & 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},
+			(642 >> 8) & 0xff,
+			642 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(221 >> 8) & 0xff,
-		221 & 0xff}
+		(101 >> 8) & 0xff,
+		101 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(1271 >> 8) & 0xff,
-			1271 & 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},
+			(644 >> 8) & 0xff,
+			644 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(222 >> 8) & 0xff,
-		222 & 0xff}
+		(102 >> 8) & 0xff,
+		102 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
 		.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 = {
-			(1274 >> 8) & 0xff,
-			1274 & 0xff,
+			(646 >> 8) & 0xff,
+			646 & 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_ZERO
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(1280 >> 8) & 0xff,
-			1280 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(650 >> 8) & 0xff,
+			650 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_TCP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(224 >> 8) & 0xff,
-		224 & 0xff}
+		(104 >> 8) & 0xff,
+		104 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(1284 >> 8) & 0xff,
-			1284 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(652 >> 8) & 0xff,
+			652 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(225 >> 8) & 0xff,
-		225 & 0xff}
+		(105 >> 8) & 0xff,
+		105 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(1287 >> 8) & 0xff,
-			1287 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(654 >> 8) & 0xff,
+			654 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(226 >> 8) & 0xff,
-		226 & 0xff}
+		(106 >> 8) & 0xff,
+		106 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "l3_hdr_isIP",
+		.field_bit_size = 1,
 		.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 = {
-			(1290 >> 8) & 0xff,
-			1290 & 0xff,
+			(656 >> 8) & 0xff,
+			656 & 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_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
+		.field_src3 = 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 = {
-		(1327 >> 8) & 0xff,
-		1327 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr2 = {
-	1},
-	.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_OR,
+		.field_opr1 = {
+			(660 >> 8) & 0xff,
+			660 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl3_sip0.en",
-		.field_bit_size = 1,
-	.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_CONST,
-	.field_opr2 = {
-	1},
-	.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 = {
+			(662 >> 8) & 0xff,
+			662 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(109 >> 8) & 0xff,
+		109 & 0xff}
 		},
 	{
-		.description = "tl3_dip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(1373 >> 8) & 0xff,
-		1373 & 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_hdr_type",
+		.field_bit_size = 4,
+		.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_NEXT,
+		.field_opr2 = {
+		(110 >> 8) & 0xff,
+		110 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(111 >> 8) & 0xff,
+		111 & 0xff}
 		},
 	{
-		.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 = {
-		(1381 >> 8) & 0xff,
-		1381 & 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_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(666 >> 8) & 0xff,
+			666 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(1389 >> 8) & 0xff,
-		1389 & 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_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.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_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 = {
-		(1397 >> 8) & 0xff,
-		1397 & 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_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(672 >> 8) & 0xff,
+			672 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L3_HDR_TYPE_IPV6},
+		.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 = {
-		(1405 >> 8) & 0xff,
-		1405 & 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_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(674 >> 8) & 0xff,
+			674 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L3_HDR_TYPE_IPV6},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(114 >> 8) & 0xff,
+		114 & 0xff}
 		},
 	{
-		.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 = {
-		(1414 >> 8) & 0xff,
-		1414 & 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_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(676 >> 8) & 0xff,
+			676 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(115 >> 8) & 0xff,
+		115 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(116 >> 8) & 0xff,
+		116 & 0xff}
 		},
 	{
-		.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 = {
-		(1421 >> 8) & 0xff,
-		1421 & 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_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(678 >> 8) & 0xff,
+			678 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.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 = {
-		(1429 >> 8) & 0xff,
-		1429 & 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_hdr_type",
+		.field_bit_size = 4,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(680 >> 8) & 0xff,
+			680 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_smac.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 = {
-		(1437 >> 8) & 0xff,
-		1437 & 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 = {
+			(684 >> 8) & 0xff,
+			684 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(118 >> 8) & 0xff,
+		118 & 0xff}
 		},
 	{
-		.description = "l2_ovv.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 = {
-		(1445 >> 8) & 0xff,
-		1445 & 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 = {
+			(686 >> 8) & 0xff,
+			686 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(119 >> 8) & 0xff,
+		119 & 0xff}
 		},
 	{
-		.description = "l2_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 = {
-		(1454 >> 8) & 0xff,
-		1454 & 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 = {
-	(240 >> 8) & 0xff,
-	240 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(688 >> 8) & 0xff,
+			688 & 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 = "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 = {
-		(1459 >> 8) & 0xff,
-		1459 & 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 = {
-	(241 >> 8) & 0xff,
-	241 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(692 >> 8) & 0xff,
+			692 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(121 >> 8) & 0xff,
+		121 & 0xff}
 		},
 	{
-		.description = "l2_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 = {
-		(1463 >> 8) & 0xff,
-		1463 & 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 = {
+			(694 >> 8) & 0xff,
+			694 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(122 >> 8) & 0xff,
+		122 & 0xff}
 		},
 	{
-		.description = "l2_etype.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 = {
-		(1472 >> 8) & 0xff,
-		1472 & 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 = {
+			(696 >> 8) & 0xff,
+			696 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip3.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 = {
-		(1480 >> 8) & 0xff,
-		1480 & 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_OR,
+		.field_opr1 = {
+			(700 >> 8) & 0xff,
+			700 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip2.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 = {
-		(1487 >> 8) & 0xff,
-		1487 & 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 = {
+			(702 >> 8) & 0xff,
+			702 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(125 >> 8) & 0xff,
+		125 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(126 >> 8) & 0xff,
+		126 & 0xff}
 		},
 	{
-		.description = "l3_sip1.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 = {
-		(1494 >> 8) & 0xff,
-		1494 & 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_OR,
+		.field_opr1 = {
+			(704 >> 8) & 0xff,
+			704 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip0.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 = {
-		(1501 >> 8) & 0xff,
-		1501 & 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 = {
-	(247 >> 8) & 0xff,
-	247 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(706 >> 8) & 0xff,
+			706 & 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}
 		},
 	{
-		.description = "l3_sip0.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 = {
-		(1505 >> 8) & 0xff,
-		1505 & 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_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(708 >> 8) & 0xff,
+			708 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip0.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 = {
-		(1508 >> 8) & 0xff,
-		1508 & 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_OR,
+		.field_opr1 = {
+			(712 >> 8) & 0xff,
+			712 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip3.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 = {
-		(1515 >> 8) & 0xff,
-		1515 & 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_dip2.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(1522 >> 8) & 0xff,
-		1522 & 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_dip1.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(1529 >> 8) & 0xff,
-		1529 & 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_dip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(1536 >> 8) & 0xff,
-		1536 & 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 = {
-	(253 >> 8) & 0xff,
-	253 & 0xff}
-		},
-	{
-		.description = "l3_dip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(1540 >> 8) & 0xff,
-		1540 & 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 = {
-	(254 >> 8) & 0xff,
-	254 & 0xff}
-		},
-	{
-		.description = "l3_dip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(1543 >> 8) & 0xff,
-		1543 & 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_ttl.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(1550 >> 8) & 0xff,
-		1550 & 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 = {
-	(256 >> 8) & 0xff,
-	256 & 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 = {
-		(1554 >> 8) & 0xff,
-		1554 & 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 = {
-	(257 >> 8) & 0xff,
-	257 & 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 = {
-		(1557 >> 8) & 0xff,
-		1557 & 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 = {
+			(714 >> 8) & 0xff,
+			714 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr2 = {
+		(130 >> 8) & 0xff,
+		130 & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(131 >> 8) & 0xff,
+		131 & 0xff}
 		},
 	{
-		.description = "l3_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 = {
-		(1564 >> 8) & 0xff,
-		1564 & 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 = {
-	(259 >> 8) & 0xff,
-	259 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(716 >> 8) & 0xff,
+			716 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_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 = {
-		(1568 >> 8) & 0xff,
-		1568 & 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 = {
-	(260 >> 8) & 0xff,
-	260 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(718 >> 8) & 0xff,
+			718 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(132 >> 8) & 0xff,
+		132 & 0xff}
 		},
 	{
-		.description = "l3_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 = {
-		(1571 >> 8) & 0xff,
-		1571 & 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 = {
+			(720 >> 8) & 0xff,
+			720 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_qos.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 = {
-		(1578 >> 8) & 0xff,
-		1578 & 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 = {
-	(262 >> 8) & 0xff,
-	262 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(725 >> 8) & 0xff,
+			725 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L2_TWO_VTAGS_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_qos.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 = {
-		(1582 >> 8) & 0xff,
-		1582 & 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 = {
-	(263 >> 8) & 0xff,
-	263 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(731 >> 8) & 0xff,
+			731 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_qos.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 = {
-		(1585 >> 8) & 0xff,
-		1585 & 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 = {
+			(738 >> 8) & 0xff,
+			738 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_src.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 = {
-		(1592 >> 8) & 0xff,
-		1592 & 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 = {
-	(265 >> 8) & 0xff,
-	265 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(742 >> 8) & 0xff,
+			742 & 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 = "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 = {
-		(1596 >> 8) & 0xff,
-		1596 & 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 = {
-	(266 >> 8) & 0xff,
-	266 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(746 >> 8) & 0xff,
+			746 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_src.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 = {
-		(1599 >> 8) & 0xff,
-		1599 & 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 = {
+			(748 >> 8) & 0xff,
+			748 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(139 >> 8) & 0xff,
+		139 & 0xff}
 		},
 	{
-		.description = "l4_dst.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 = {
-		(1606 >> 8) & 0xff,
-		1606 & 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 = {
-	(268 >> 8) & 0xff,
-	268 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(750 >> 8) & 0xff,
+			750 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr3 = {
+		ULP_THOR2_SYM_L2_HDR_VALID_YES}
 		},
 	{
-		.description = "l4_dst.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 = {
-		(1610 >> 8) & 0xff,
-		1610 & 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 = {
-	(269 >> 8) & 0xff,
-	269 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+		.field_opr1 = {
+			(754 >> 8) & 0xff,
+			754 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_dst.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 = {
-		(1613 >> 8) & 0xff,
-		1613 & 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 = {
-			(1659 >> 8) & 0xff,
-			1659 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			(756 >> 8) & 0xff,
+			756 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(142 >> 8) & 0xff,
+		142 & 0xff}
 		},
 	{
-		.description = "tl2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1669 >> 8) & 0xff,
-			1669 & 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
+			(758 >> 8) & 0xff,
+			758 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1720 >> 8) & 0xff,
-			1720 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(763 >> 8) & 0xff,
+			763 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(144 >> 8) & 0xff,
+		144 & 0xff}
 		},
 	{
-		.description = "tl3.ttl",
-		.field_bit_size = 8,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1728 >> 8) & 0xff,
-			1728 & 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
+			(766 >> 8) & 0xff,
+			766 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(145 >> 8) & 0xff,
+		145 & 0xff}
 		},
 	{
-		.description = "tl3.prot",
-		.field_bit_size = 8,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1736 >> 8) & 0xff,
-			1736 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(768 >> 8) & 0xff,
+			768 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(146 >> 8) & 0xff,
+		146 & 0xff}
 		},
 	{
-		.description = "tl3.prot",
-		.field_bit_size = 8,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1744 >> 8) & 0xff,
-			1744 & 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
+			(770 >> 8) & 0xff,
+			770 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(147 >> 8) & 0xff,
+		147 & 0xff}
 		},
 	{
-		.description = "tl3.qos",
-		.field_bit_size = 8,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1752 >> 8) & 0xff,
-			1752 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(772 >> 8) & 0xff,
+			772 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(148 >> 8) & 0xff,
+		148 & 0xff}
 		},
 	{
-		.description = "tl3.qos",
-		.field_bit_size = 8,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1760 >> 8) & 0xff,
-			1760 & 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
+			(774 >> 8) & 0xff,
+			774 & 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}
 		},
 	{
-		.description = "tl4.src",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1768 >> 8) & 0xff,
-			1768 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(776 >> 8) & 0xff,
+			776 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4.src",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1776 >> 8) & 0xff,
-			1776 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(780 >> 8) & 0xff,
+			780 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_IP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(151 >> 8) & 0xff,
+		151 & 0xff}
 		},
 	{
-		.description = "tl4.dst",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1785 >> 8) & 0xff,
-			1785 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			(783 >> 8) & 0xff,
+			783 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(152 >> 8) & 0xff,
+		152 & 0xff}
 		},
 	{
-		.description = "tl4.dst",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1794 >> 8) & 0xff,
-			1794 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(785 >> 8) & 0xff,
+			785 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(153 >> 8) & 0xff,
+		153 & 0xff}
 		},
 	{
-		.description = "tids",
-		.field_bit_size = 24,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1801 >> 8) & 0xff,
-			1801 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			(787 >> 8) & 0xff,
+			787 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TUN_HDR_TYPE_GRE},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(154 >> 8) & 0xff,
+		154 & 0xff}
 		},
 	{
-		.description = "tids",
-		.field_bit_size = 24,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1807 >> 8) & 0xff,
-			1807 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(789 >> 8) & 0xff,
+			789 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(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
+		ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(155 >> 8) & 0xff,
+		155 & 0xff}
 		},
 	{
-		.description = "l2_dmac",
-		.field_bit_size = 48,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1815 >> 8) & 0xff,
-			1815 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			(791 >> 8) & 0xff,
+			791 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(156 >> 8) & 0xff,
+		156 & 0xff}
 		},
 	{
-		.description = "l2_dmac",
-		.field_bit_size = 48,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(1824 >> 8) & 0xff,
-			1824 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(793 >> 8) & 0xff,
+			793 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_RF,
 		.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
+		(BNXT_ULP_RF_IDX_DYN_UPAR_ID >> 8) & 0xff,
+		BNXT_ULP_RF_IDX_DYN_UPAR_ID & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_smac",
-		.field_bit_size = 48,
+		.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 = {
-			(1832 >> 8) & 0xff,
-			1832 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(799 >> 8) & 0xff,
+			799 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_smac",
-		.field_bit_size = 48,
+		.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 = {
-			(1839 >> 8) & 0xff,
-			1839 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(803 >> 8) & 0xff,
+			803 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(1847 >> 8) & 0xff,
-			1847 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(807 >> 8) & 0xff,
+			807 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ovv",
-		.field_bit_size = 12,
+		.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 = {
-			(1856 >> 8) & 0xff,
-			1856 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(811 >> 8) & 0xff,
+			811 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_TL4_HDR_TYPE_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1865 >> 8) & 0xff,
-			1865 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
+			(815 >> 8) & 0xff,
+			815 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(291 >> 8) & 0xff,
-		291 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1870 >> 8) & 0xff,
-			1870 & 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}
+			(819 >> 8) & 0xff,
+			819 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1874 >> 8) & 0xff,
-			1874 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(823 >> 8) & 0xff,
+			823 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(164 >> 8) & 0xff,
+		164 & 0xff}
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1883 >> 8) & 0xff,
-			1883 & 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 = {
-		(294 >> 8) & 0xff,
-		294 & 0xff}
+			(825 >> 8) & 0xff,
+			825 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ONES
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1888 >> 8) & 0xff,
-			1888 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(828 >> 8) & 0xff,
+			828 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_OI_VLAN_VID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
+		ULP_THOR2_SYM_TL4_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(295 >> 8) & 0xff,
-		295 & 0xff}
+		(166 >> 8) & 0xff,
+		166 & 0xff}
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(1892 >> 8) & 0xff,
-			1892 & 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
+			(830 >> 8) & 0xff,
+			830 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_etype",
-		.field_bit_size = 16,
+		.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 = {
-			(1901 >> 8) & 0xff,
-			1901 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(833 >> 8) & 0xff,
+			833 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_etype",
-		.field_bit_size = 16,
+		.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 = {
-			(1910 >> 8) & 0xff,
-			1910 & 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
+			(837 >> 8) & 0xff,
+			837 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(1918 >> 8) & 0xff,
-			1918 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(841 >> 8) & 0xff,
+			841 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(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_IPV4_SRC_ADDR >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			(845 >> 8) & 0xff,
+			845 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(1932 >> 8) & 0xff,
-			1932 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+			(849 >> 8) & 0xff,
+			849 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TL3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(1939 >> 8) & 0xff,
-			1939 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(861 >> 8) & 0xff,
+			861 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.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_SKIP
+		ULP_THOR2_SYM_TL2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.dip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(1946 >> 8) & 0xff,
-			1946 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(906 >> 8) & 0xff,
+			906 & 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 = "l3.dip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(1953 >> 8) & 0xff,
-			1953 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(916 >> 8) & 0xff,
+			916 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 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},
+		(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 = "l3.dip.ipv6",
+		.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 = {
-			(1960 >> 8) & 0xff,
-			1960 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(943 >> 8) & 0xff,
+			943 & 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 = "l3.dip.ipv6",
+		.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 = {
-			(1967 >> 8) & 0xff,
-			1967 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(948 >> 8) & 0xff,
+			948 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 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},
+		(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.ttl",
+		.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 = {
-			(1974 >> 8) & 0xff,
-			1974 & 0xff,
+			(969 >> 8) & 0xff,
+			969 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(307 >> 8) & 0xff,
-		307 & 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.ttl",
+		.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 = {
-			(1978 >> 8) & 0xff,
-			1978 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(308 >> 8) & 0xff,
-		308 & 0xff}
+			(977 >> 8) & 0xff,
+			977 & 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 = "l3.ttl",
+		.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 = {
-			(1981 >> 8) & 0xff,
-			1981 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(985 >> 8) & 0xff,
+			985 & 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 = "l3.ttl",
+		.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 = {
-			(1988 >> 8) & 0xff,
-			1988 & 0xff,
+			(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_TTL >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(310 >> 8) & 0xff,
-		310 & 0xff}
+		(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.ttl",
+		.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 = {
-			(1992 >> 8) & 0xff,
-			1992 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(1001 >> 8) & 0xff,
+			1001 & 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 = {
-		(311 >> 8) & 0xff,
-		311 & 0xff}
+		(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.ttl",
+		.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 = {
-			(1995 >> 8) & 0xff,
-			1995 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(1009 >> 8) & 0xff,
+			1009 & 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},
+		(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.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(2002 >> 8) & 0xff,
-			2002 & 0xff,
+			(1017 >> 8) & 0xff,
+			1017 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(313 >> 8) & 0xff,
-		313 & 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 = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(2006 >> 8) & 0xff,
-			2006 & 0xff,
+			(1025 >> 8) & 0xff,
+			1025 & 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 = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1034 >> 8) & 0xff,
+			1034 & 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 = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1043 >> 8) & 0xff,
+			1043 & 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 = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1050 >> 8) & 0xff,
+			1050 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(314 >> 8) & 0xff,
-		314 & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.description = "tids",
+		.field_bit_size = 24,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2009 >> 8) & 0xff,
-			2009 & 0xff,
+			(1056 >> 8) & 0xff,
+			1056 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.description = "tid",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2016 >> 8) & 0xff,
-			2016 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(1060 >> 8) & 0xff,
+			1060 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 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 = {
-		(316 >> 8) & 0xff,
-		316 & 0xff}
+		(BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.description = "tid",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2020 >> 8) & 0xff,
-			2020 & 0xff,
+			(1064 >> 8) & 0xff,
+			1064 & 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 = {
-		(317 >> 8) & 0xff,
-		317 & 0xff}
+		(BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(2023 >> 8) & 0xff,
-			2023 & 0xff,
+			(1071 >> 8) & 0xff,
+			1071 & 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},
+		(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 = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(2030 >> 8) & 0xff,
-			2030 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(319 >> 8) & 0xff,
-		319 & 0xff}
+			(1078 >> 8) & 0xff,
+			1078 & 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 = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(2034 >> 8) & 0xff,
-			2034 & 0xff,
+			(1085 >> 8) & 0xff,
+			1085 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(320 >> 8) & 0xff,
-		320 & 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 = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(2037 >> 8) & 0xff,
-			2037 & 0xff,
+			(1092 >> 8) & 0xff,
+			1092 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(2044 >> 8) & 0xff,
-			2044 & 0xff,
+			(1100 >> 8) & 0xff,
+			1100 & 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},
+		(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 = {
+			(1109 >> 8) & 0xff,
+			1109 & 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 = {
+			(1118 >> 8) & 0xff,
+			1118 & 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 = {
-		(322 >> 8) & 0xff,
-		322 & 0xff}
+		(198 >> 8) & 0xff,
+		198 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(2048 >> 8) & 0xff,
-			2048 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(1123 >> 8) & 0xff,
+			1123 & 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},
+		(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 = {
-		(323 >> 8) & 0xff,
-		323 & 0xff}
+		(199 >> 8) & 0xff,
+		199 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(2051 >> 8) & 0xff,
-			2051 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(1127 >> 8) & 0xff,
+			1127 & 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},
+		(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.src",
-		.field_bit_size = 16,
+		.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 = {
+			(1136 >> 8) & 0xff,
+			1136 & 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 = {
+		(201 >> 8) & 0xff,
+		201 & 0xff}
+		},
+	{
+		.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 = {
-			(2058 >> 8) & 0xff,
-			2058 & 0xff,
+			(1141 >> 8) & 0xff,
+			1141 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(325 >> 8) & 0xff,
-		325 & 0xff}
+		(202 >> 8) & 0xff,
+		202 & 0xff}
 		},
 	{
-		.description = "l4.src",
+		.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 = {
+			(1145 >> 8) & 0xff,
+			1145 & 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_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1154 >> 8) & 0xff,
+			1154 & 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 = "l2_etype",
 		.field_bit_size = 16,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2062 >> 8) & 0xff,
-			2062 & 0xff,
+			(1163 >> 8) & 0xff,
+			1163 & 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 = {
+			(1171 >> 8) & 0xff,
+			1171 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(326 >> 8) & 0xff,
-		326 & 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 = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(2065 >> 8) & 0xff,
-			2065 & 0xff,
+			(1178 >> 8) & 0xff,
+			1178 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(2072 >> 8) & 0xff,
-			2072 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(1185 >> 8) & 0xff,
+			1185 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 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 = {
-		(328 >> 8) & 0xff,
-		328 & 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
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(2076 >> 8) & 0xff,
-			2076 & 0xff,
+			(1192 >> 8) & 0xff,
+			1192 & 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_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(329 >> 8) & 0xff,
-		329 & 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
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(2079 >> 8) & 0xff,
-			2079 & 0xff,
+			(1199 >> 8) & 0xff,
+			1199 & 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},
+		(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.dst",
-		.field_bit_size = 16,
+		.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 = {
+			(1206 >> 8) & 0xff,
+			1206 & 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 = "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 = {
+			(1213 >> 8) & 0xff,
+			1213 & 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.dip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1220 >> 8) & 0xff,
+			1220 & 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 = {
-			(2086 >> 8) & 0xff,
-			2086 & 0xff,
+			(1227 >> 8) & 0xff,
+			1227 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(331 >> 8) & 0xff,
-		331 & 0xff}
+		(214 >> 8) & 0xff,
+		214 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(2090 >> 8) & 0xff,
-			2090 & 0xff,
+			(1231 >> 8) & 0xff,
+			1231 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(332 >> 8) & 0xff,
-		332 & 0xff}
+		(215 >> 8) & 0xff,
+		215 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(2093 >> 8) & 0xff,
-			2093 & 0xff,
+			(1234 >> 8) & 0xff,
+			1234 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(2100 >> 8) & 0xff,
-			2100 & 0xff,
+			(1241 >> 8) & 0xff,
+			1241 & 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},
+		(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 = {
-		(334 >> 8) & 0xff,
-		334 & 0xff}
+		(217 >> 8) & 0xff,
+		217 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(2104 >> 8) & 0xff,
-			2104 & 0xff,
+			(1245 >> 8) & 0xff,
+			1245 & 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},
+		(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}
+		(218 >> 8) & 0xff,
+		218 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(2107 >> 8) & 0xff,
-			2107 & 0xff,
+			(1248 >> 8) & 0xff,
+			1248 & 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},
+		(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
 		},
-	/* 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 = {
-		(2206 >> 8) & 0xff,
-		2206 & 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 = {
-	(337 >> 8) & 0xff,
-	337 & 0xff}
-	},
-	{
-		.description = "",
+		.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 = {
-		(2208 >> 8) & 0xff,
-		2208 & 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 = {
-	(338 >> 8) & 0xff,
-	338 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1254 >> 8) & 0xff,
+			1254 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(220 >> 8) & 0xff,
+		220 & 0xff}
 		},
 	{
-		.description = "",
+		.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 = {
-		(2210 >> 8) & 0xff,
-		2210 & 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 = {
-	(339 >> 8) & 0xff,
-	339 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1257 >> 8) & 0xff,
+			1257 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(221 >> 8) & 0xff,
+		221 & 0xff}
 		},
 	{
-		.description = "",
+		.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 = {
-		(2212 >> 8) & 0xff,
-		2212 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 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 = {
+			(1259 >> 8) & 0xff,
+			1259 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(222 >> 8) & 0xff,
+		222 & 0xff}
 		},
 	{
-		.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 = {
-		(2237 >> 8) & 0xff,
-		2237 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr3 = {
-	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 = {
+			(1261 >> 8) & 0xff,
+			1261 & 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 = {
+		(223 >> 8) & 0xff,
+		223 & 0xff}
 		},
 	{
-		.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 = {
-		(2250 >> 8) & 0xff,
-		2250 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 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 = {
+			(1265 >> 8) & 0xff,
+			1265 & 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 = {
+		(224 >> 8) & 0xff,
+		224 & 0xff}
 		},
 	{
-		.description = "tl3_sip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2279 >> 8) & 0xff,
-		2279 & 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.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1269 >> 8) & 0xff,
+			1269 & 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 = {
+		(225 >> 8) & 0xff,
+		225 & 0xff}
 		},
 	{
-		.description = "tl3_sip0.en",
-		.field_bit_size = 1,
-	.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_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 = {
+			(1272 >> 8) & 0xff,
+			1272 & 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 = "tl3_dip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(2300 >> 8) & 0xff,
-		2300 & 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 = {
+			(1278 >> 8) & 0xff,
+			1278 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_IP_PROTO_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(227 >> 8) & 0xff,
+		227 & 0xff}
 		},
 	{
-		.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 = {
-		(2308 >> 8) & 0xff,
-		2308 & 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 = {
+			(1281 >> 8) & 0xff,
+			1281 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_IP_PROTO_TCP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(228 >> 8) & 0xff,
+		228 & 0xff}
 		},
 	{
-		.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 = {
-		(2316 >> 8) & 0xff,
-		2316 & 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 = {
+			(1283 >> 8) & 0xff,
+			1283 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_IP_PROTO_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(229 >> 8) & 0xff,
+		229 & 0xff}
 		},
 	{
-		.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 = {
-		(2324 >> 8) & 0xff,
-		2324 & 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 = {
+			(1285 >> 8) & 0xff,
+			1285 & 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 = {
+		(230 >> 8) & 0xff,
+		230 & 0xff}
 		},
 	{
-		.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 = {
-		(2332 >> 8) & 0xff,
-		2332 & 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 = {
+			(1289 >> 8) & 0xff,
+			1289 & 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 = {
+		(231 >> 8) & 0xff,
+		231 & 0xff}
 		},
 	{
-		.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 = {
-		(2341 >> 8) & 0xff,
-		2341 & 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 = {
+			(1293 >> 8) & 0xff,
+			1293 & 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 = {
+		(232 >> 8) & 0xff,
+		232 & 0xff}
 		},
 	{
-		.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 = {
-		(2348 >> 8) & 0xff,
-		2348 & 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.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1296 >> 8) & 0xff,
+			1296 & 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 = "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 = {
-		(2355 >> 8) & 0xff,
-		2355 & 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.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1303 >> 8) & 0xff,
+			1303 & 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 = {
+		(234 >> 8) & 0xff,
+		234 & 0xff}
 		},
 	{
-		.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 = {
-		(2362 >> 8) & 0xff,
-		2362 & 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.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(1307 >> 8) & 0xff,
+			1307 & 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 = {
+		(235 >> 8) & 0xff,
+		235 & 0xff}
 		},
 	{
-		.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 = {
-		(2370 >> 8) & 0xff,
-		2370 & 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 = {
+			(1310 >> 8) & 0xff,
+			1310 & 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 = "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 = {
-		(2379 >> 8) & 0xff,
-		2379 & 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 = {
-	(355 >> 8) & 0xff,
-	355 & 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 = {
+			(1317 >> 8) & 0xff,
+			1317 & 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 = {
+		(237 >> 8) & 0xff,
+		237 & 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 = {
-		(2384 >> 8) & 0xff,
-		2384 & 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 = {
-	(356 >> 8) & 0xff,
-	356 & 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 = {
+			(1321 >> 8) & 0xff,
+			1321 & 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 = {
+		(238 >> 8) & 0xff,
+		238 & 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 = {
-		(2388 >> 8) & 0xff,
-		2388 & 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 = {
+			(1324 >> 8) & 0xff,
+			1324 & 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 = "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 = {
-		(2397 >> 8) & 0xff,
-		2397 & 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 = {
+			(1331 >> 8) & 0xff,
+			1331 & 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 = {
+		(240 >> 8) & 0xff,
+		240 & 0xff}
 		},
 	{
-		.description = "l3_sip3.en",
+		.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 = {
+			(1335 >> 8) & 0xff,
+			1335 & 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_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(241 >> 8) & 0xff,
+		241 & 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 = {
+			(1338 >> 8) & 0xff,
+			1338 & 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 = {
+		(242 >> 8) & 0xff,
+		242 & 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 = {
+			(1341 >> 8) & 0xff,
+			1341 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		},
+	{
+		.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 = {
+			(1347 >> 8) & 0xff,
+			1347 & 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 = {
+		(244 >> 8) & 0xff,
+		244 & 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 = {
+			(1351 >> 8) & 0xff,
+			1351 & 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_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(245 >> 8) & 0xff,
+		245 & 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 = {
+			(1354 >> 8) & 0xff,
+			1354 & 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 = {
+		(246 >> 8) & 0xff,
+		246 & 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 = {
+			(1357 >> 8) & 0xff,
+			1357 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		},
+	{
+		.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 = {
+			(1363 >> 8) & 0xff,
+			1363 & 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 = {
+		(248 >> 8) & 0xff,
+		248 & 0xff}
+		},
+	{
+		.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 = {
+			(1367 >> 8) & 0xff,
+			1367 & 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 = {
+		(249 >> 8) & 0xff,
+		249 & 0xff}
+		},
+	{
+		.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 = {
+			(1370 >> 8) & 0xff,
+			1370 & 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 = {
+		(250 >> 8) & 0xff,
+		250 & 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 = {
+			(1373 >> 8) & 0xff,
+			1373 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		},
+	{
+		.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 = {
+			(1379 >> 8) & 0xff,
+			1379 & 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 = {
+		(252 >> 8) & 0xff,
+		252 & 0xff}
+		},
+	{
+		.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 = {
+			(1383 >> 8) & 0xff,
+			1383 & 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 = {
+		(253 >> 8) & 0xff,
+		253 & 0xff}
+		},
+	{
+		.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 = {
+			(1386 >> 8) & 0xff,
+			1386 & 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 = {
+		(254 >> 8) & 0xff,
+		254 & 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 = {
+			(1389 >> 8) & 0xff,
+			1389 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.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 = {
-		(2406 >> 8) & 0xff,
-		2406 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(1429 >> 8) & 0xff,
+		1429 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip2.en",
+		.description = "tl3_sip0.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2415 >> 8) & 0xff,
-		2415 & 0xff,
+		(1455 >> 8) & 0xff,
+		1455 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43684,13 +45965,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip1.en",
+		.description = "tl3_dip0.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2424 >> 8) & 0xff,
-		2424 & 0xff,
+		(1475 >> 8) & 0xff,
+		1475 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43699,49 +45980,43 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip0.en",
+		.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 = {
-		(2433 >> 8) & 0xff,
-		2433 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
+		(1483 >> 8) & 0xff,
+		1483 & 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 = {
-	(362 >> 8) & 0xff,
-	362 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip0.en",
+		.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 = {
-		(2438 >> 8) & 0xff,
-		2438 & 0xff,
+		(1491 >> 8) & 0xff,
+		1491 & 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 = {
-	(363 >> 8) & 0xff,
-	363 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip0.en",
+		.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 = {
-		(2442 >> 8) & 0xff,
-		2442 & 0xff,
+		(1499 >> 8) & 0xff,
+		1499 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43750,13 +46025,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip3.en",
+		.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 = {
-		(2451 >> 8) & 0xff,
-		2451 & 0xff,
+		(1507 >> 8) & 0xff,
+		1507 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43765,13 +46040,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip2.en",
+		.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 = {
-		(2460 >> 8) & 0xff,
-		2460 & 0xff,
+		(1516 >> 8) & 0xff,
+		1516 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43780,64 +46055,73 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip1.en",
+		.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 = {
-		(2469 >> 8) & 0xff,
-		2469 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(1523 >> 8) & 0xff,
+		1523 & 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_dip0.en",
+		.description = "tid.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2478 >> 8) & 0xff,
-		2478 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
+		(1527 >> 8) & 0xff,
+		1527 & 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 = {
-	(368 >> 8) & 0xff,
-	368 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip0.en",
+		.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 = {
-		(2483 >> 8) & 0xff,
-		2483 & 0xff,
+		(1535 >> 8) & 0xff,
+		1535 & 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 = {
-	(369 >> 8) & 0xff,
-	369 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_dip0.en",
+		.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 = {
+		(1543 >> 8) & 0xff,
+		1543 & 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 = {
-		(2487 >> 8) & 0xff,
-		2487 & 0xff,
+		(1551 >> 8) & 0xff,
+		1551 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43846,13 +46130,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_ttl.en",
+		.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 = {
-		(2496 >> 8) & 0xff,
-		2496 & 0xff,
+		(1560 >> 8) & 0xff,
+		1560 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43860,17 +46144,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(371 >> 8) & 0xff,
-	371 & 0xff}
+	(269 >> 8) & 0xff,
+	269 & 0xff}
 		},
 	{
-		.description = "l3_ttl.en",
+		.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 = {
-		(2501 >> 8) & 0xff,
-		2501 & 0xff,
+		(1565 >> 8) & 0xff,
+		1565 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43878,17 +46162,17 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(372 >> 8) & 0xff,
-	372 & 0xff}
+	(270 >> 8) & 0xff,
+	270 & 0xff}
 		},
 	{
-		.description = "l3_ttl.en",
+		.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 = {
-		(2505 >> 8) & 0xff,
-		2505 & 0xff,
+		(1569 >> 8) & 0xff,
+		1569 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -43897,218 +46181,205 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_prot.en",
+		.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 = {
-		(2513 >> 8) & 0xff,
-		2513 & 0xff,
+		(1578 >> 8) & 0xff,
+		1578 & 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 = {
-	(374 >> 8) & 0xff,
-	374 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_prot.en",
+		.description = "l3_sip3.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2517 >> 8) & 0xff,
-		2517 & 0xff,
+		(1586 >> 8) & 0xff,
+		1586 & 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 = {
-	(375 >> 8) & 0xff,
-	375 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_prot.en",
+		.description = "l3_sip2.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2520 >> 8) & 0xff,
-		2520 & 0xff,
+		(1593 >> 8) & 0xff,
+		1593 & 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 = {
-	(376 >> 8) & 0xff,
-	376 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_prot.en",
+		.description = "l3_sip1.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2523 >> 8) & 0xff,
-		2523 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
+		(1600 >> 8) & 0xff,
+		1600 & 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 = {
-	(377 >> 8) & 0xff,
-	377 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_prot.en",
+		.description = "l3_sip0.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2528 >> 8) & 0xff,
-		2528 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
+		(1607 >> 8) & 0xff,
+		1607 & 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 = {
-	(378 >> 8) & 0xff,
-	378 & 0xff}
+	(276 >> 8) & 0xff,
+	276 & 0xff}
 		},
 	{
-		.description = "l3_prot.en",
+		.description = "l3_sip0.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2533 >> 8) & 0xff,
-		2533 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(1611 >> 8) & 0xff,
+		1611 & 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 = {
-	(379 >> 8) & 0xff,
-	379 & 0xff}
+	(277 >> 8) & 0xff,
+	277 & 0xff}
 		},
 	{
-		.description = "l3_prot.en",
+		.description = "l3_sip0.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2537 >> 8) & 0xff,
-		2537 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(1614 >> 8) & 0xff,
+		1614 & 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_qos.en",
+		.description = "l3_dip3.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2546 >> 8) & 0xff,
-		2546 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 0xff},
+		(1621 >> 8) & 0xff,
+		1621 & 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 = {
-	(381 >> 8) & 0xff,
-	381 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_qos.en",
+		.description = "l3_dip2.en",
 		.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,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(1628 >> 8) & 0xff,
+		1628 & 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 = {
-	(382 >> 8) & 0xff,
-	382 & 0xff}
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_qos.en",
+		.description = "l3_dip1.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2555 >> 8) & 0xff,
-		2555 & 0xff,
-		(4 >> 8) & 0xff,
-		4 & 0xff},
+		(1635 >> 8) & 0xff,
+		1635 & 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_src.en",
+		.description = "l3_dip0.en",
 		.field_bit_size = 1,
 	.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 = {
-		(2561 >> 8) & 0xff,
-		2561 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(1642 >> 8) & 0xff,
+		1642 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(282 >> 8) & 0xff,
+	282 & 0xff}
 		},
 	{
-		.description = "l4_src.en",
+		.description = "l3_dip0.en",
 		.field_bit_size = 1,
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2564 >> 8) & 0xff,
-		2564 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		(1646 >> 8) & 0xff,
+		1646 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	(385 >> 8) & 0xff,
-	385 & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(283 >> 8) & 0xff,
+	283 & 0xff}
 		},
 	{
-		.description = "l4_src.en",
+		.description = "l3_dip0.en",
 		.field_bit_size = 1,
 	.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 = {
-		(2565 >> 8) & 0xff,
-		2565 & 0xff,
+		(1649 >> 8) & 0xff,
+		1649 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44117,44 +46388,49 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_dst.en",
+		.description = "l3_ttl.en",
 		.field_bit_size = 1,
 	.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 = {
-		(2570 >> 8) & 0xff,
-		2570 & 0xff,
-		(3 >> 8) & 0xff,
-		3 & 0xff},
+		(1656 >> 8) & 0xff,
+		1656 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
 	1},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(285 >> 8) & 0xff,
+	285 & 0xff}
 		},
 	{
-		.description = "l4_dst.en",
+		.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 = {
-		(2573 >> 8) & 0xff,
-		2573 & 0xff,
-		(1 >> 8) & 0xff,
-		1 & 0xff},
-	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+		(1660 >> 8) & 0xff,
+		1660 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	(388 >> 8) & 0xff,
-	388 & 0xff},
-	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(286 >> 8) & 0xff,
+	286 & 0xff}
 		},
 	{
-		.description = "l4_dst.en",
+		.description = "l3_ttl.en",
 		.field_bit_size = 1,
 	.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 = {
-		(2574 >> 8) & 0xff,
-		2574 & 0xff,
+		(1663 >> 8) & 0xff,
+		1663 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -44162,3589 +46438,3696 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
-	/* class_tid: 2, , table: control.profile_tcam_priority */
 	{
-	.description = "",
-	.field_bit_size = 8,
+		.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 = {
-		(2580 >> 8) & 0xff,
-		2580 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(1670 >> 8) & 0xff,
+		1670 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(390 >> 8) & 0xff,
-	390 & 0xff}
-	},
+	(288 >> 8) & 0xff,
+	288 & 0xff}
+		},
 	{
-		.description = "",
-		.field_bit_size = 8,
+		.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 = {
-		(2582 >> 8) & 0xff,
-		2582 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(1674 >> 8) & 0xff,
+		1674 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(391 >> 8) & 0xff,
-	391 & 0xff}
+	(289 >> 8) & 0xff,
+	289 & 0xff}
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
+		.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 = {
-		(2584 >> 8) & 0xff,
-		2584 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(1677 >> 8) & 0xff,
+		1677 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
-	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-	.field_opr3 = {
-	(392 >> 8) & 0xff,
-	392 & 0xff}
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
+		.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 = {
-		(2586 >> 8) & 0xff,
-		2586 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(1684 >> 8) & 0xff,
+		1684 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(393 >> 8) & 0xff,
-	393 & 0xff}
+	(291 >> 8) & 0xff,
+	291 & 0xff}
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
+		.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 = {
-		(2588 >> 8) & 0xff,
-		2588 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(1688 >> 8) & 0xff,
+		1688 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(394 >> 8) & 0xff,
-	394 & 0xff}
+	(292 >> 8) & 0xff,
+	292 & 0xff}
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
+		.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 = {
-		(2590 >> 8) & 0xff,
-		2590 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(1691 >> 8) & 0xff,
+		1691 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	1},
+	.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 = {
+		(1698 >> 8) & 0xff,
+		1698 & 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 = {
-	(395 >> 8) & 0xff,
-	395 & 0xff}
+	(294 >> 8) & 0xff,
+	294 & 0xff}
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
+		.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 = {
-		(2592 >> 8) & 0xff,
-		2592 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(1702 >> 8) & 0xff,
+		1702 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(396 >> 8) & 0xff,
-	396 & 0xff}
+	(295 >> 8) & 0xff,
+	295 & 0xff}
 		},
 	{
-		.description = "",
-		.field_bit_size = 8,
+		.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 = {
-		(2594 >> 8) & 0xff,
-		2594 & 0xff,
-		(2 >> 8) & 0xff,
-		2 & 0xff},
+		(1705 >> 8) & 0xff,
+		1705 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 	.field_opr2 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
-	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr3 = {
-	ULP_THOR2_SYM_PROF_TCAM_PRI_L2}
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
+		.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 = {
-			(2598 >> 8) & 0xff,
-			2598 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(398 >> 8) & 0xff,
-		398 & 0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1712 >> 8) & 0xff,
+		1712 & 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 = {
+	(297 >> 8) & 0xff,
+	297 & 0xff}
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
+		.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 = {
-			(2600 >> 8) & 0xff,
-			2600 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(399 >> 8) & 0xff,
-		399 & 0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(1716 >> 8) & 0xff,
+		1716 & 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 = {
+	(298 >> 8) & 0xff,
+	298 & 0xff}
 		},
 	{
-		.description = "l4_hdr_is_udp_tcp",
+		.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 = {
+		(1719 >> 8) & 0xff,
+		1719 & 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 = {
-			(2602 >> 8) & 0xff,
-			2602 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1765 >> 8) & 0xff,
+			1765 & 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_SKIP
 		},
 	{
-		.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 = {
-			(2606 >> 8) & 0xff,
-			2606 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1775 >> 8) & 0xff,
+			1775 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(401 >> 8) & 0xff,
-		401 & 0xff}
+		(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_is_udp_tcp",
-		.field_bit_size = 1,
+		.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 = {
-			(2608 >> 8) & 0xff,
-			2608 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(402 >> 8) & 0xff,
-		402 & 0xff}
+			(1826 >> 8) & 0xff,
+			1826 & 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,
+		.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 = {
-			(2610 >> 8) & 0xff,
-			2610 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1834 >> 8) & 0xff,
+			1834 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_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 = "l4_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2614 >> 8) & 0xff,
-			2614 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1842 >> 8) & 0xff,
+			1842 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(404 >> 8) & 0xff,
-		404 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2616 >> 8) & 0xff,
-			2616 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(405 >> 8) & 0xff,
-		405 & 0xff}
+			(1850 >> 8) & 0xff,
+			1850 & 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 = "l4_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 = {
-			(2618 >> 8) & 0xff,
-			2618 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1858 >> 8) & 0xff,
+			1858 & 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_SKIP
 		},
 	{
-		.description = "l4_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 = {
-			(2622 >> 8) & 0xff,
-			2622 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(407 >> 8) & 0xff,
-		407 & 0xff}
+			(1866 >> 8) & 0xff,
+			1866 & 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_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2624 >> 8) & 0xff,
-			2624 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_TYPE_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(408 >> 8) & 0xff,
-		408 & 0xff}
+			(1874 >> 8) & 0xff,
+			1874 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2626 >> 8) & 0xff,
-			2626 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1882 >> 8) & 0xff,
+			1882 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_TYPE_UDP},
-		.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_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.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 = {
-			(2630 >> 8) & 0xff,
-			2630 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1891 >> 8) & 0xff,
+			1891 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(410 >> 8) & 0xff,
-		410 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.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 = {
-			(2632 >> 8) & 0xff,
-			2632 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(411 >> 8) & 0xff,
-		411 & 0xff}
+			(1900 >> 8) & 0xff,
+			1900 & 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_error",
-		.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 = {
-			(2634 >> 8) & 0xff,
-			2634 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1907 >> 8) & 0xff,
+			1907 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.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 = {
-			(2638 >> 8) & 0xff,
-			2638 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(413 >> 8) & 0xff,
-		413 & 0xff}
+			(1913 >> 8) & 0xff,
+			1913 & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "tid",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2640 >> 8) & 0xff,
-			2640 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(414 >> 8) & 0xff,
-		414 & 0xff}
+			(1917 >> 8) & 0xff,
+			1917 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_error",
-		.field_bit_size = 1,
+		.description = "tid",
+		.field_bit_size = 32,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(2642 >> 8) & 0xff,
-			2642 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(1921 >> 8) & 0xff,
+			1921 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr2 = {
+		(BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_T_GRE_OPT_KEY & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_valid",
-		.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 = {
-			(2646 >> 8) & 0xff,
-			2646 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1929 >> 8) & 0xff,
+			1929 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(416 >> 8) & 0xff,
-		416 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_valid",
-		.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 = {
-			(2648 >> 8) & 0xff,
-			2648 & 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}
+			(1938 >> 8) & 0xff,
+			1938 & 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 = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.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 = {
-			(2650 >> 8) & 0xff,
-			2650 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1946 >> 8) & 0xff,
+			1946 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.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 = {
-			(2654 >> 8) & 0xff,
-			2654 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1953 >> 8) & 0xff,
+			1953 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(419 >> 8) & 0xff,
-		419 & 0xff}
+		(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_valid",
-		.field_bit_size = 1,
+		.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 = {
-			(2656 >> 8) & 0xff,
-			2656 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(420 >> 8) & 0xff,
-		420 & 0xff}
+			(1961 >> 8) & 0xff,
+			1961 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l4_hdr_valid",
-		.field_bit_size = 1,
+		.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 = {
-			(2658 >> 8) & 0xff,
-			2658 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1970 >> 8) & 0xff,
+			1970 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L4_HDR_VALID_YES},
-		.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 = "l3_hdr_isIP",
-		.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 = {
-			(2662 >> 8) & 0xff,
-			2662 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1979 >> 8) & 0xff,
+			1979 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(422 >> 8) & 0xff,
-		422 & 0xff}
+		(322 >> 8) & 0xff,
+		322 & 0xff}
 		},
 	{
-		.description = "l3_hdr_isIP",
-		.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 = {
-			(2664 >> 8) & 0xff,
-			2664 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1984 >> 8) & 0xff,
+			1984 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(423 >> 8) & 0xff,
-		423 & 0xff}
+		(323 >> 8) & 0xff,
+		323 & 0xff}
 		},
 	{
-		.description = "l3_hdr_isIP",
-		.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 = {
-			(2666 >> 8) & 0xff,
-			2666 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(1988 >> 8) & 0xff,
+			1988 & 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_SKIP
 		},
 	{
-		.description = "l3_hdr_isIP",
-		.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 = {
-			(2670 >> 8) & 0xff,
-			2670 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(1997 >> 8) & 0xff,
+			1997 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
+		(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 = {
-		(425 >> 8) & 0xff,
-		425 & 0xff}
+		(325 >> 8) & 0xff,
+		325 & 0xff}
 		},
 	{
-		.description = "l3_hdr_isIP",
-		.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 = {
-			(2672 >> 8) & 0xff,
-			2672 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2002 >> 8) & 0xff,
+			2002 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_ISIP_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 = {
-		(426 >> 8) & 0xff,
-		426 & 0xff}
+		(326 >> 8) & 0xff,
+		326 & 0xff}
 		},
 	{
-		.description = "l3_hdr_isIP",
-		.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 = {
-			(2674 >> 8) & 0xff,
-			2674 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2006 >> 8) & 0xff,
+			2006 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
-		.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 = "l3_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2678 >> 8) & 0xff,
-			2678 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2015 >> 8) & 0xff,
+			2015 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(428 >> 8) & 0xff,
-		428 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2680 >> 8) & 0xff,
-			2680 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2024 >> 8) & 0xff,
+			2024 & 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 = {
+			(2032 >> 8) & 0xff,
+			2032 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(429 >> 8) & 0xff,
-		429 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2682 >> 8) & 0xff,
-			2682 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2039 >> 8) & 0xff,
+			2039 & 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 = {
+			(2046 >> 8) & 0xff,
+			2046 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_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 = {
-			(2686 >> 8) & 0xff,
-			2686 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2053 >> 8) & 0xff,
+			2053 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_TYPE_IPV6},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(431 >> 8) & 0xff,
-		431 & 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
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2688 >> 8) & 0xff,
-			2688 & 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}
+			(2060 >> 8) & 0xff,
+			2060 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_hdr_type",
-		.field_bit_size = 4,
+		.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 = {
-			(2690 >> 8) & 0xff,
-			2690 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(2067 >> 8) & 0xff,
+			2067 & 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 = "l3_hdr_error",
-		.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 = {
-			(2694 >> 8) & 0xff,
-			2694 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2074 >> 8) & 0xff,
+			2074 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(2081 >> 8) & 0xff,
+			2081 & 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 = {
+			(2088 >> 8) & 0xff,
+			2088 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(434 >> 8) & 0xff,
-		434 & 0xff}
+		(338 >> 8) & 0xff,
+		338 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.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 = {
-			(2696 >> 8) & 0xff,
-			2696 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2092 >> 8) & 0xff,
+			2092 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(435 >> 8) & 0xff,
-		435 & 0xff}
+		(339 >> 8) & 0xff,
+		339 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.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 = {
-			(2698 >> 8) & 0xff,
-			2698 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2095 >> 8) & 0xff,
+			2095 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l3_hdr_error",
-		.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 = {
-			(2702 >> 8) & 0xff,
-			2702 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(2102 >> 8) & 0xff,
+			2102 & 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 = {
-		(437 >> 8) & 0xff,
-		437 & 0xff}
+		(341 >> 8) & 0xff,
+		341 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.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 = {
-			(2704 >> 8) & 0xff,
-			2704 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+			(2106 >> 8) & 0xff,
+			2106 & 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 = {
-		(438 >> 8) & 0xff,
-		438 & 0xff}
+		(342 >> 8) & 0xff,
+		342 & 0xff}
 		},
 	{
-		.description = "l3_hdr_error",
-		.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 = {
-			(2706 >> 8) & 0xff,
-			2706 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(2109 >> 8) & 0xff,
+			2109 & 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_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 = {
-			(2710 >> 8) & 0xff,
-			2710 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2116 >> 8) & 0xff,
+			2116 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(440 >> 8) & 0xff,
-		440 & 0xff}
+		(344 >> 8) & 0xff,
+		344 & 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 = {
-			(2712 >> 8) & 0xff,
-			2712 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2120 >> 8) & 0xff,
+			2120 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(441 >> 8) & 0xff,
-		441 & 0xff}
+		(345 >> 8) & 0xff,
+		345 & 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 = {
-			(2714 >> 8) & 0xff,
-			2714 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2123 >> 8) & 0xff,
+			2123 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.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 = {
-			(2718 >> 8) & 0xff,
-			2718 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2130 >> 8) & 0xff,
+			2130 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_VALID_YES},
+		(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 = {
-		(443 >> 8) & 0xff,
-		443 & 0xff}
+		(347 >> 8) & 0xff,
+		347 & 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 = {
-			(2720 >> 8) & 0xff,
-			2720 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2134 >> 8) & 0xff,
+			2134 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_VALID_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 = {
-		(444 >> 8) & 0xff,
-		444 & 0xff}
-		},
-	{
-		.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 = {
-			(2722 >> 8) & 0xff,
-			2722 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L3_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(348 >> 8) & 0xff,
+		348 & 0xff}
 		},
 	{
-		.description = "l2_two_vtags",
-		.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 = {
-			(2727 >> 8) & 0xff,
-			2727 & 0xff,
+			(2137 >> 8) & 0xff,
+			2137 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L2_TWO_VTAGS_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = "l2_vtag_present",
-		.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 = {
-			(2733 >> 8) & 0xff,
-			2733 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_L2_VTAG_PRESENT_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(2144 >> 8) & 0xff,
+			2144 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(350 >> 8) & 0xff,
+		350 & 0xff}
 		},
 	{
-		.description = "l2_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 = {
-			(2740 >> 8) & 0xff,
-			2740 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2148 >> 8) & 0xff,
+			2148 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(351 >> 8) & 0xff,
+		351 & 0xff}
 		},
 	{
-		.description = "l2_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 = {
-			(2744 >> 8) & 0xff,
-			2744 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(2151 >> 8) & 0xff,
+			2151 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "l2_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 = {
-			(2748 >> 8) & 0xff,
-			2748 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2158 >> 8) & 0xff,
+			2158 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_L2_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = {
+		(353 >> 8) & 0xff,
+		353 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2752 >> 8) & 0xff,
-			2752 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(2162 >> 8) & 0xff,
+			2162 & 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 = {
-		(451 >> 8) & 0xff,
-		451 & 0xff}
+		(354 >> 8) & 0xff,
+		354 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2754 >> 8) & 0xff,
-			2754 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(452 >> 8) & 0xff,
-		452 & 0xff}
+			(2165 >> 8) & 0xff,
+			2165 & 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 = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2756 >> 8) & 0xff,
-			2756 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2172 >> 8) & 0xff,
+			2172 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(453 >> 8) & 0xff,
-		453 & 0xff}
+		(356 >> 8) & 0xff,
+		356 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2758 >> 8) & 0xff,
-			2758 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2176 >> 8) & 0xff,
+			2176 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(454 >> 8) & 0xff,
-		454 & 0xff}
+		(357 >> 8) & 0xff,
+		357 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2760 >> 8) & 0xff,
-			2760 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2179 >> 8) & 0xff,
+			2179 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2764 >> 8) & 0xff,
-			2764 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2186 >> 8) & 0xff,
+			2186 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE},
+		(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 = {
-		(456 >> 8) & 0xff,
-		456 & 0xff}
+		(359 >> 8) & 0xff,
+		359 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2766 >> 8) & 0xff,
-			2766 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2190 >> 8) & 0xff,
+			2190 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE},
+		(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 = {
-		(457 >> 8) & 0xff,
-		457 & 0xff}
+		(360 >> 8) & 0xff,
+		360 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2768 >> 8) & 0xff,
-			2768 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2193 >> 8) & 0xff,
+			2193 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_GRE},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(458 >> 8) & 0xff,
-		458 & 0xff}
+		(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 = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2770 >> 8) & 0xff,
-			2770 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1},
+			(2200 >> 8) & 0xff,
+			2200 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(459 >> 8) & 0xff,
-		459 & 0xff}
+		(362 >> 8) & 0xff,
+		362 & 0xff}
 		},
 	{
-		.description = "tun_hdr_type",
-		.field_bit_size = 5,
+		.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 = {
-			(2772 >> 8) & 0xff,
-			2772 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(2204 >> 8) & 0xff,
+			2204 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(363 >> 8) & 0xff,
+		363 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.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 = {
-			(2779 >> 8) & 0xff,
-			2779 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
+			(2207 >> 8) & 0xff,
+			2207 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
-		.description = "tl4_hdr_is_udp_tcp",
-		.field_bit_size = 1,
+		.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 = {
-			(2783 >> 8) & 0xff,
-			2783 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2214 >> 8) & 0xff,
+			2214 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = {
+		(365 >> 8) & 0xff,
+		365 & 0xff}
 		},
 	{
-		.description = "tl4_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 = {
-			(2787 >> 8) & 0xff,
-			2787 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+			(2218 >> 8) & 0xff,
+			2218 & 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 = {
+		(366 >> 8) & 0xff,
+		366 & 0xff}
 		},
 	{
-		.description = "tl4_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 = {
-			(2791 >> 8) & 0xff,
-			2791 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+			(2221 >> 8) & 0xff,
+			2221 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
 		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_TYPE_UDP},
-		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		(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 = "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 = {
-			(2795 >> 8) & 0xff,
-			2795 & 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 = {
+		(2327 >> 8) & 0xff,
+		2327 & 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 = {
+	(368 >> 8) & 0xff,
+	368 & 0xff}
+	},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2329 >> 8) & 0xff,
+		2329 & 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 = {
+	(369 >> 8) & 0xff,
+	369 & 0xff}
 		},
 	{
-		.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 = {
-			(2799 >> 8) & 0xff,
-			2799 & 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 = {
+		(2331 >> 8) & 0xff,
+		2331 & 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 = {
+	(370 >> 8) & 0xff,
+	370 & 0xff}
 		},
 	{
-		.description = "tl4_hdr_valid",
+		.description = "",
+		.field_bit_size = 8,
+	.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_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 = {
-			(2803 >> 8) & 0xff,
-			2803 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(467 >> 8) & 0xff,
-		467 & 0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2358 >> 8) & 0xff,
+		2358 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
+	1}
 		},
 	{
-		.description = "tl4_hdr_valid",
+		.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 = {
-			(2805 >> 8) & 0xff,
-			2805 & 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 = {
+		(2371 >> 8) & 0xff,
+		2371 & 0xff,
+		(5 >> 8) & 0xff,
+		5 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4_hdr_valid",
+		.description = "tl3_sip0.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2808 >> 8) & 0xff,
-			2808 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_TL4_HDR_VALID_YES},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(469 >> 8) & 0xff,
-		469 & 0xff}
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2400 >> 8) & 0xff,
+		2400 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4_hdr_valid",
+		.description = "tl3_sip0.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2810 >> 8) & 0xff,
-			2810 & 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 = {
+		(2401 >> 8) & 0xff,
+		2401 & 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_isIP",
+		.description = "tl3_dip0.en",
 		.field_bit_size = 1,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2813 >> 8) & 0xff,
-			2813 & 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 = {
+		(2421 >> 8) & 0xff,
+		2421 & 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_isIP",
+		.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 = {
-			(2817 >> 8) & 0xff,
-			2817 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_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 = {
+		(2429 >> 8) & 0xff,
+		2429 & 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 = {
-			(2821 >> 8) & 0xff,
-			2821 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.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 = {
+		(2437 >> 8) & 0xff,
+		2437 & 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 = {
-			(2825 >> 8) & 0xff,
-			2825 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
-		.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 = {
+		(2445 >> 8) & 0xff,
+		2445 & 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_error",
+		.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 = {
-			(2829 >> 8) & 0xff,
-			2829 & 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 = {
+		(2453 >> 8) & 0xff,
+		2453 & 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_error",
+		.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 = {
-			(2833 >> 8) & 0xff,
-			2833 & 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 = {
+		(2462 >> 8) & 0xff,
+		2462 & 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_valid",
+		.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 = {
-			(2837 >> 8) & 0xff,
-			2837 & 0xff,
-			(2 >> 8) & 0xff,
-			2 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_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 = {
+		(2469 >> 8) & 0xff,
+		2469 & 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_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2873 >> 8) & 0xff,
-			2873 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
-		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr3 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
+		.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 = {
+		(2476 >> 8) & 0xff,
+		2476 & 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_smac",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2880 >> 8) & 0xff,
-			2880 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
-		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
-		.field_opr3 = {
-		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
+		.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 = {
+		(2483 >> 8) & 0xff,
+		2483 & 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 = {
-			(2898 >> 8) & 0xff,
-			2898 & 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_ovv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2491 >> 8) & 0xff,
+		2491 & 0xff,
+		(4 >> 8) & 0xff,
+		4 & 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 = {
-			(2908 >> 8) & 0xff,
-			2908 & 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_ivv.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2500 >> 8) & 0xff,
+		2500 & 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 = {
+	(386 >> 8) & 0xff,
+	386 & 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 = {
-			(2935 >> 8) & 0xff,
-			2935 & 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 = "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 = {
+		(2505 >> 8) & 0xff,
+		2505 & 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 = {
+	(387 >> 8) & 0xff,
+	387 & 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 = {
-			(2940 >> 8) & 0xff,
-			2940 & 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 = {
-			(2961 >> 8) & 0xff,
-			2961 & 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 = "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 = {
+		(2509 >> 8) & 0xff,
+		2509 & 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",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2969 >> 8) & 0xff,
-			2969 & 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 = "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 = {
+		(2518 >> 8) & 0xff,
+		2518 & 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",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2977 >> 8) & 0xff,
-			2977 & 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 = "l3_sip3.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2527 >> 8) & 0xff,
+		2527 & 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",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2985 >> 8) & 0xff,
-			2985 & 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 = "l3_sip2.en",
+		.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,
+		(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",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(2993 >> 8) & 0xff,
-			2993 & 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 = "l3_sip1.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2545 >> 8) & 0xff,
+		2545 & 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",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3001 >> 8) & 0xff,
-			3001 & 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 = "l3_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2554 >> 8) & 0xff,
+		2554 & 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 = {
+	(393 >> 8) & 0xff,
+	393 & 0xff}
 		},
 	{
-		.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 = {
-			(3009 >> 8) & 0xff,
-			3009 & 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 = "l3_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2559 >> 8) & 0xff,
+		2559 & 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 = {
+	(394 >> 8) & 0xff,
+	394 & 0xff}
 		},
 	{
-		.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 = {
-			(3017 >> 8) & 0xff,
-			3017 & 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 = "l3_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2563 >> 8) & 0xff,
+		2563 & 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",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3026 >> 8) & 0xff,
-			3026 & 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 = "l3_dip3.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2572 >> 8) & 0xff,
+		2572 & 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",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3035 >> 8) & 0xff,
-			3035 & 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 = "l3_dip2.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2581 >> 8) & 0xff,
+		2581 & 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",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3042 >> 8) & 0xff,
-			3042 & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l3_dip1.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2590 >> 8) & 0xff,
+		2590 & 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",
-		.field_bit_size = 24,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3048 >> 8) & 0xff,
-			3048 & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		.description = "l3_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2599 >> 8) & 0xff,
+		2599 & 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 = {
+	(399 >> 8) & 0xff,
+	399 & 0xff}
 		},
 	{
-		.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 = {
-			(3055 >> 8) & 0xff,
-			3055 & 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 = "l3_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2604 >> 8) & 0xff,
+		2604 & 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 = {
+	(400 >> 8) & 0xff,
+	400 & 0xff}
 		},
 	{
-		.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 = {
-			(3062 >> 8) & 0xff,
-			3062 & 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 = "l3_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2608 >> 8) & 0xff,
+		2608 & 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",
-		.field_bit_size = 48,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3069 >> 8) & 0xff,
-			3069 & 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 = "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 = {
+		(2617 >> 8) & 0xff,
+		2617 & 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 = {
+	(402 >> 8) & 0xff,
+	402 & 0xff}
 		},
 	{
-		.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 = {
-			(3076 >> 8) & 0xff,
-			3076 & 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 = "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 = {
+		(2622 >> 8) & 0xff,
+		2622 & 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 = {
+	(403 >> 8) & 0xff,
+	403 & 0xff}
 		},
 	{
-		.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 = {
-			(3084 >> 8) & 0xff,
-			3084 & 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 = "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 = {
+		(2626 >> 8) & 0xff,
+		2626 & 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_ovv",
-		.field_bit_size = 12,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3093 >> 8) & 0xff,
-			3093 & 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 = "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 = {
+		(2634 >> 8) & 0xff,
+		2634 & 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 = {
+	(405 >> 8) & 0xff,
+	405 & 0xff}
 		},
 	{
-		.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 = {
-			(3102 >> 8) & 0xff,
-			3102 & 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 = {
-		(502 >> 8) & 0xff,
-		502 & 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 = {
+		(2638 >> 8) & 0xff,
+		2638 & 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 = {
+	(406 >> 8) & 0xff,
+	406 & 0xff}
 		},
 	{
-		.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 = {
-			(3107 >> 8) & 0xff,
-			3107 & 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 = {
-		(503 >> 8) & 0xff,
-		503 & 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 = {
+		(2641 >> 8) & 0xff,
+		2641 & 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 = {
+	(407 >> 8) & 0xff,
+	407 & 0xff}
 		},
 	{
-		.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 = {
-			(3111 >> 8) & 0xff,
-			3111 & 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 = "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 = {
+		(2644 >> 8) & 0xff,
+		2644 & 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 = {
+	(408 >> 8) & 0xff,
+	408 & 0xff}
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
+		(2649 >> 8) & 0xff,
+		2649 & 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 = {
+	(409 >> 8) & 0xff,
+	409 & 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 = {
+		(2654 >> 8) & 0xff,
+		2654 & 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 = {
+	(410 >> 8) & 0xff,
+	410 & 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 = {
+		(2658 >> 8) & 0xff,
+		2658 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2667 >> 8) & 0xff,
+		2667 & 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 = {
+	(412 >> 8) & 0xff,
+	412 & 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 = {
+		(2672 >> 8) & 0xff,
+		2672 & 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 = {
+	(413 >> 8) & 0xff,
+	413 & 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 = {
+		(2676 >> 8) & 0xff,
+		2676 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(2682 >> 8) & 0xff,
+		2682 & 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_src.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2685 >> 8) & 0xff,
+		2685 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr2 = {
+	(416 >> 8) & 0xff,
+	416 & 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_OR,
+	.field_opr1 = {
+		(2686 >> 8) & 0xff,
+		2686 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+	.field_opr1 = {
+		(2691 >> 8) & 0xff,
+		2691 & 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.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2694 >> 8) & 0xff,
+		2694 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr2 = {
+	(419 >> 8) & 0xff,
+	419 & 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 = {
+		(2695 >> 8) & 0xff,
+		2695 & 0xff,
+		(3 >> 8) & 0xff,
+		3 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	/* class_tid: 2, , 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 = {
+		(2701 >> 8) & 0xff,
+		2701 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(421 >> 8) & 0xff,
+	421 & 0xff}
+	},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2703 >> 8) & 0xff,
+		2703 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(422 >> 8) & 0xff,
+	422 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2705 >> 8) & 0xff,
+		2705 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(423 >> 8) & 0xff,
+	423 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2707 >> 8) & 0xff,
+		2707 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L4},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(424 >> 8) & 0xff,
+	424 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2709 >> 8) & 0xff,
+		2709 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(425 >> 8) & 0xff,
+	425 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2711 >> 8) & 0xff,
+		2711 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(426 >> 8) & 0xff,
+	426 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2713 >> 8) & 0xff,
+		2713 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(427 >> 8) & 0xff,
+	427 & 0xff}
+		},
+	{
+		.description = "",
+		.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(2715 >> 8) & 0xff,
+		2715 & 0xff,
+		(2 >> 8) & 0xff,
+		2 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L3},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr3 = {
+	ULP_THOR2_SYM_PROF_TCAM_PRI_L2}
+		},
+	{
+		.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 = {
-			(3120 >> 8) & 0xff,
-			3120 & 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},
+			(2719 >> 8) & 0xff,
+			2719 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(505 >> 8) & 0xff,
-		505 & 0xff}
+		(429 >> 8) & 0xff,
+		429 & 0xff}
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(3125 >> 8) & 0xff,
-			3125 & 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},
+			(2721 >> 8) & 0xff,
+			2721 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(506 >> 8) & 0xff,
-		506 & 0xff}
+		(430 >> 8) & 0xff,
+		430 & 0xff}
 		},
 	{
-		.description = "l2_ivv",
-		.field_bit_size = 12,
+		.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 = {
-			(3129 >> 8) & 0xff,
-			3129 & 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
+			(2723 >> 8) & 0xff,
+			2723 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_etype",
-		.field_bit_size = 16,
+		.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 = {
-			(3138 >> 8) & 0xff,
-			3138 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2727 >> 8) & 0xff,
+			2727 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(432 >> 8) & 0xff,
+		432 & 0xff}
 		},
 	{
-		.description = "l2_etype",
-		.field_bit_size = 16,
+		.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 = {
-			(3147 >> 8) & 0xff,
-			3147 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2729 >> 8) & 0xff,
+			2729 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(433 >> 8) & 0xff,
+		433 & 0xff}
 		},
 	{
-		.description = "l3.sip.ipv4",
-		.field_bit_size = 32,
+		.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 = {
-			(3155 >> 8) & 0xff,
-			3155 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2731 >> 8) & 0xff,
+			2731 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.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_SKIP
+		ULP_THOR2_SYM_L4_HDR_IS_UDP_TCP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.sip.ipv4",
-		.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 = {
-			(3162 >> 8) & 0xff,
-			3162 & 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
+			(2735 >> 8) & 0xff,
+			2735 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(435 >> 8) & 0xff,
+		435 & 0xff}
 		},
 	{
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(3169 >> 8) & 0xff,
-			3169 & 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
+			(2737 >> 8) & 0xff,
+			2737 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(436 >> 8) & 0xff,
+		436 & 0xff}
 		},
 	{
-		.description = "l3.sip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(3176 >> 8) & 0xff,
-			3176 & 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
+			(2739 >> 8) & 0xff,
+			2739 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.dip.ipv4",
-		.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 = {
-			(3183 >> 8) & 0xff,
-			3183 & 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
+			(2743 >> 8) & 0xff,
+			2743 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(438 >> 8) & 0xff,
+		438 & 0xff}
 		},
 	{
-		.description = "l3.dip.ipv4",
-		.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 = {
-			(3190 >> 8) & 0xff,
-			3190 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2745 >> 8) & 0xff,
+			2745 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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
+		ULP_THOR2_SYM_L4_HDR_TYPE_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(439 >> 8) & 0xff,
+		439 & 0xff}
 		},
 	{
-		.description = "l3.dip.ipv6",
-		.field_bit_size = 128,
+		.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 = {
-			(3197 >> 8) & 0xff,
-			3197 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2747 >> 8) & 0xff,
+			2747 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.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_SKIP
+		ULP_THOR2_SYM_L4_HDR_TYPE_UDP},
+		.field_src3 = 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 = {
-			(3204 >> 8) & 0xff,
-			3204 & 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,
+		.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 = {
-			(3211 >> 8) & 0xff,
-			3211 & 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},
+			(2751 >> 8) & 0xff,
+			2751 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(518 >> 8) & 0xff,
-		518 & 0xff}
+		(441 >> 8) & 0xff,
+		441 & 0xff}
 		},
 	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(3215 >> 8) & 0xff,
-			3215 & 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},
+			(2753 >> 8) & 0xff,
+			2753 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(519 >> 8) & 0xff,
-		519 & 0xff}
+		(442 >> 8) & 0xff,
+		442 & 0xff}
 		},
 	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(3218 >> 8) & 0xff,
-			3218 & 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
+			(2755 >> 8) & 0xff,
+			2755 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(3225 >> 8) & 0xff,
-			3225 & 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},
+			(2759 >> 8) & 0xff,
+			2759 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(521 >> 8) & 0xff,
-		521 & 0xff}
+		(444 >> 8) & 0xff,
+		444 & 0xff}
 		},
 	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(3229 >> 8) & 0xff,
-			3229 & 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},
+			(2761 >> 8) & 0xff,
+			2761 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(522 >> 8) & 0xff,
-		522 & 0xff}
+		(445 >> 8) & 0xff,
+		445 & 0xff}
 		},
 	{
-		.description = "l3.ttl",
-		.field_bit_size = 8,
+		.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 = {
-			(3232 >> 8) & 0xff,
-			3232 & 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
+			(2763 >> 8) & 0xff,
+			2763 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3238 >> 8) & 0xff,
-			3238 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
+			(2767 >> 8) & 0xff,
+			2767 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(524 >> 8) & 0xff,
-		524 & 0xff}
+		(447 >> 8) & 0xff,
+		447 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3241 >> 8) & 0xff,
-			3241 & 0xff,
+			(2769 >> 8) & 0xff,
+			2769 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(525 >> 8) & 0xff,
-		525 & 0xff}
+		(448 >> 8) & 0xff,
+		448 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3243 >> 8) & 0xff,
-			3243 & 0xff,
+			(2771 >> 8) & 0xff,
+			2771 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(526 >> 8) & 0xff,
-		526 & 0xff}
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3245 >> 8) & 0xff,
-			3245 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2775 >> 8) & 0xff,
+			2775 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV6_PROTO_ID & 0xff},
+		ULP_THOR2_SYM_L4_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(527 >> 8) & 0xff,
-		527 & 0xff}
+		(450 >> 8) & 0xff,
+		450 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3249 >> 8) & 0xff,
-			3249 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2777 >> 8) & 0xff,
+			2777 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
+		ULP_THOR2_SYM_L4_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(528 >> 8) & 0xff,
-		528 & 0xff}
+		(451 >> 8) & 0xff,
+		451 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3253 >> 8) & 0xff,
-			3253 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2779 >> 8) & 0xff,
+			2779 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(529 >> 8) & 0xff,
-		529 & 0xff}
+		ULP_THOR2_SYM_L4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.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 = {
-			(3256 >> 8) & 0xff,
-			3256 & 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
+			(2783 >> 8) & 0xff,
+			2783 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(453 >> 8) & 0xff,
+		453 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.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 = {
-			(3262 >> 8) & 0xff,
-			3262 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
-		.field_opr2 = {
-		ULP_THOR2_SYM_IP_PROTO_UDP},
+			(2785 >> 8) & 0xff,
+			2785 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(531 >> 8) & 0xff,
-		531 & 0xff}
+		(454 >> 8) & 0xff,
+		454 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.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 = {
+			(2787 >> 8) & 0xff,
+			2787 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.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 = {
-			(3265 >> 8) & 0xff,
-			3265 & 0xff,
+			(2791 >> 8) & 0xff,
+			2791 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		ULP_THOR2_SYM_IP_PROTO_TCP},
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(532 >> 8) & 0xff,
-		532 & 0xff}
+		(456 >> 8) & 0xff,
+		456 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.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 = {
-			(3267 >> 8) & 0xff,
-			3267 & 0xff,
+			(2793 >> 8) & 0xff,
+			2793 & 0xff,
 			(2 >> 8) & 0xff,
 			2 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		ULP_THOR2_SYM_IP_PROTO_UDP},
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(533 >> 8) & 0xff,
-		533 & 0xff}
+		(457 >> 8) & 0xff,
+		457 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.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 = {
-			(3269 >> 8) & 0xff,
-			3269 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2795 >> 8) & 0xff,
+			2795 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(534 >> 8) & 0xff,
-		534 & 0xff}
+		ULP_THOR2_SYM_L3_HDR_ISIP_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3273 >> 8) & 0xff,
-			3273 & 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},
+			(2799 >> 8) & 0xff,
+			2799 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(535 >> 8) & 0xff,
-		535 & 0xff}
+		(459 >> 8) & 0xff,
+		459 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3277 >> 8) & 0xff,
-			3277 & 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},
+			(2801 >> 8) & 0xff,
+			2801 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(536 >> 8) & 0xff,
-		536 & 0xff}
+		(460 >> 8) & 0xff,
+		460 & 0xff}
 		},
 	{
-		.description = "l3.prot",
-		.field_bit_size = 8,
+		.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 = {
-			(3280 >> 8) & 0xff,
-			3280 & 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
+			(2803 >> 8) & 0xff,
+			2803 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(3287 >> 8) & 0xff,
-			3287 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2807 >> 8) & 0xff,
+			2807 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_I_IPV4_QOS >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
+		ULP_THOR2_SYM_L3_HDR_TYPE_IPV6},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(538 >> 8) & 0xff,
-		538 & 0xff}
+		(462 >> 8) & 0xff,
+		462 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(3291 >> 8) & 0xff,
-			3291 & 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},
+			(2809 >> 8) & 0xff,
+			2809 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(539 >> 8) & 0xff,
-		539 & 0xff}
+		(463 >> 8) & 0xff,
+		463 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(3294 >> 8) & 0xff,
-			3294 & 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
+			(2811 >> 8) & 0xff,
+			2811 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(3301 >> 8) & 0xff,
-			3301 & 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},
+			(2815 >> 8) & 0xff,
+			2815 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(541 >> 8) & 0xff,
-		541 & 0xff}
+		(465 >> 8) & 0xff,
+		465 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(3305 >> 8) & 0xff,
-			3305 & 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},
+			(2817 >> 8) & 0xff,
+			2817 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(542 >> 8) & 0xff,
-		542 & 0xff}
+		(466 >> 8) & 0xff,
+		466 & 0xff}
 		},
 	{
-		.description = "l3.qos",
-		.field_bit_size = 8,
+		.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 = {
-			(3308 >> 8) & 0xff,
-			3308 & 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
+			(2819 >> 8) & 0xff,
+			2819 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(3315 >> 8) & 0xff,
-			3315 & 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},
+			(2823 >> 8) & 0xff,
+			2823 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(544 >> 8) & 0xff,
-		544 & 0xff}
+		(468 >> 8) & 0xff,
+		468 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(3319 >> 8) & 0xff,
-			3319 & 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},
+			(2825 >> 8) & 0xff,
+			2825 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(545 >> 8) & 0xff,
-		545 & 0xff}
+		(469 >> 8) & 0xff,
+		469 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(3322 >> 8) & 0xff,
-			3322 & 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 = {
-		(546 >> 8) & 0xff,
-		546 & 0xff}
+			(2827 >> 8) & 0xff,
+			2827 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
 		.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 = {
-			(3325 >> 8) & 0xff,
-			3325 & 0xff,
+			(2831 >> 8) & 0xff,
+			2831 & 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_NEXT,
+		.field_opr3 = {
+		(471 >> 8) & 0xff,
+		471 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(3331 >> 8) & 0xff,
-			3331 & 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},
+			(2833 >> 8) & 0xff,
+			2833 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(548 >> 8) & 0xff,
-		548 & 0xff}
+		(472 >> 8) & 0xff,
+		472 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(3335 >> 8) & 0xff,
-			3335 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2835 >> 8) & 0xff,
+			2835 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.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 = {
+			(2839 >> 8) & 0xff,
+			2839 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 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},
+		ULP_THOR2_SYM_L3_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(549 >> 8) & 0xff,
-		549 & 0xff}
+		(474 >> 8) & 0xff,
+		474 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.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 = {
-			(3338 >> 8) & 0xff,
-			3338 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2841 >> 8) & 0xff,
+			2841 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
+		ULP_THOR2_SYM_L3_HDR_VALID_YES},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(550 >> 8) & 0xff,
-		550 & 0xff}
+		(475 >> 8) & 0xff,
+		475 & 0xff}
 		},
 	{
-		.description = "l4.src",
-		.field_bit_size = 16,
+		.description = "l3_hdr_valid",
+		.field_bit_size = 1,
 		.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 = {
-			(3341 >> 8) & 0xff,
-			3341 & 0xff,
+			(2843 >> 8) & 0xff,
+			2843 & 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_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4.dst",
-		.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 = {
-			(3347 >> 8) & 0xff,
-			3347 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2848 >> 8) & 0xff,
+			2848 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.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 = {
-		(552 >> 8) & 0xff,
-		552 & 0xff}
+		ULP_THOR2_SYM_L2_TWO_VTAGS_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.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 = {
-			(3351 >> 8) & 0xff,
-			3351 & 0xff,
+			(2854 >> 8) & 0xff,
+			2854 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_L2_VTAG_PRESENT_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.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 = {
+			(2861 >> 8) & 0xff,
+			2861 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.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 = {
+			(2865 >> 8) & 0xff,
+			2865 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = 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 = {
+			(2869 >> 8) & 0xff,
+			2869 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_L2_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+		},
+	{
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2873 >> 8) & 0xff,
+			2873 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(553 >> 8) & 0xff,
-		553 & 0xff}
+		(482 >> 8) & 0xff,
+		482 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3354 >> 8) & 0xff,
-			3354 & 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},
+			(2875 >> 8) & 0xff,
+			2875 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(554 >> 8) & 0xff,
-		554 & 0xff}
+		(483 >> 8) & 0xff,
+		483 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.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 = {
-			(3357 >> 8) & 0xff,
-			3357 & 0xff,
+			(2877 >> 8) & 0xff,
+			2877 & 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_NEXT,
+		.field_opr3 = {
+		(484 >> 8) & 0xff,
+		484 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3363 >> 8) & 0xff,
-			3363 & 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},
+			(2879 >> 8) & 0xff,
+			2879 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(556 >> 8) & 0xff,
-		556 & 0xff}
+		(485 >> 8) & 0xff,
+		485 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3367 >> 8) & 0xff,
-			3367 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2881 >> 8) & 0xff,
+			2881 & 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 = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2885 >> 8) & 0xff,
+			2885 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_TUN_HDR_TYPE_VXLAN_GPE},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(557 >> 8) & 0xff,
-		557 & 0xff}
+		(487 >> 8) & 0xff,
+		487 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3370 >> 8) & 0xff,
-			3370 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
+			(2887 >> 8) & 0xff,
+			2887 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
 		.field_opr2 = {
-		(BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
+		ULP_THOR2_SYM_TUN_HDR_TYPE_GENEVE},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(558 >> 8) & 0xff,
-		558 & 0xff}
+		(488 >> 8) & 0xff,
+		488 & 0xff}
 		},
 	{
-		.description = "l4.dst",
-		.field_bit_size = 16,
+		.description = "tun_hdr_type",
+		.field_bit_size = 5,
 		.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 = {
-			(3373 >> 8) & 0xff,
-			3373 & 0xff,
+			(2889 >> 8) & 0xff,
+			2889 & 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_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TUN_HDR_TYPE_GRE},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(489 >> 8) & 0xff,
+		489 & 0xff}
 		},
 	{
-		.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 = {
-		(3410 >> 8) & 0xff,
-		3410 & 0xff,
-		(5 >> 8) & 0xff,
-		5 & 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 = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2891 >> 8) & 0xff,
+			2891 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR1},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(490 >> 8) & 0xff,
+		490 & 0xff}
 		},
 	{
-		.description = "tl3_sip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3436 >> 8) & 0xff,
-		3436 & 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 = 5,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2893 >> 8) & 0xff,
+			2893 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TUN_HDR_TYPE_UPAR2},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl3_dip0.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 = {
-		(3456 >> 8) & 0xff,
-		3456 & 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 = {
+			(2900 >> 8) & 0xff,
+			2900 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl3_ttl.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 = {
-		(3464 >> 8) & 0xff,
-		3464 & 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 = {
+			(2904 >> 8) & 0xff,
+			2904 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TL4_HDR_IS_UDP_TCP_YES},
+		.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 = {
-		(3472 >> 8) & 0xff,
-		3472 & 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 = {
+			(2908 >> 8) & 0xff,
+			2908 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(3480 >> 8) & 0xff,
-		3480 & 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 = {
+			(2912 >> 8) & 0xff,
+			2912 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TL4_HDR_TYPE_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4_src.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 = {
-		(3488 >> 8) & 0xff,
-		3488 & 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 = {
+			(2916 >> 8) & 0xff,
+			2916 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tl4_dst.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 = {
-		(3497 >> 8) & 0xff,
-		3497 & 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 = {
+			(2920 >> 8) & 0xff,
+			2920 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "tids.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 = {
-		(3504 >> 8) & 0xff,
-		3504 & 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 = {
+			(2924 >> 8) & 0xff,
+			2924 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(498 >> 8) & 0xff,
+		498 & 0xff}
 		},
 	{
-		.description = "l2_dmac.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 = {
-		(3512 >> 8) & 0xff,
-		3512 & 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 = {
+			(2926 >> 8) & 0xff,
+			2926 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ONES
 		},
 	{
-		.description = "l2_smac.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 = {
-		(3520 >> 8) & 0xff,
-		3520 & 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 = {
-		(3528 >> 8) & 0xff,
-		3528 & 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 = {
+			(2929 >> 8) & 0xff,
+			2929 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TL4_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(500 >> 8) & 0xff,
+		500 & 0xff}
 		},
 	{
-		.description = "l2_ivv.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 = {
-		(3537 >> 8) & 0xff,
-		3537 & 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 = {
-	(572 >> 8) & 0xff,
-	572 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2931 >> 8) & 0xff,
+			2931 & 0xff,
+			(1 >> 8) & 0xff,
+			1 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l2_ivv.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 = {
-		(3542 >> 8) & 0xff,
-		3542 & 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 = {
-	(573 >> 8) & 0xff,
-	573 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2934 >> 8) & 0xff,
+			2934 & 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 = "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 = {
-		(3546 >> 8) & 0xff,
-		3546 & 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 = {
+			(2938 >> 8) & 0xff,
+			2938 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TL3_HDR_ISIP_YES},
+		.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 = {
-		(3555 >> 8) & 0xff,
-		3555 & 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 = {
+			(2942 >> 8) & 0xff,
+			2942 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip3.en",
-		.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,
-		(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 = {
+			(2946 >> 8) & 0xff,
+			2946 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip2.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 = {
-		(3570 >> 8) & 0xff,
-		3570 & 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 = {
+			(2950 >> 8) & 0xff,
+			2950 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip1.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 = {
-		(3577 >> 8) & 0xff,
-		3577 & 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 = {
+			(2954 >> 8) & 0xff,
+			2954 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip0.en",
+		.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 = {
-		(3584 >> 8) & 0xff,
-		3584 & 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 = {
-	(579 >> 8) & 0xff,
-	579 & 0xff}
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(2958 >> 8) & 0xff,
+			2958 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_TL3_HDR_VALID_YES},
+		.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 		},
 	{
-		.description = "l3_sip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3588 >> 8) & 0xff,
-		3588 & 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 = {
-	(580 >> 8) & 0xff,
-	580 & 0xff}
+		.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 = {
+			(2994 >> 8) & 0xff,
+			2994 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
 		},
 	{
-		.description = "l3_sip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3591 >> 8) & 0xff,
-		3591 & 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_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3001 >> 8) & 0xff,
+			3001 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_HF,
+		.field_opr3 = {
+		(BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
 		},
 	{
-		.description = "l3_dip3.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3598 >> 8) & 0xff,
-		3598 & 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 = {
+			(3019 >> 8) & 0xff,
+			3019 & 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 = "l3_dip2.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3605 >> 8) & 0xff,
-		3605 & 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 = {
+			(3029 >> 8) & 0xff,
+			3029 & 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 = "l3_dip1.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3612 >> 8) & 0xff,
-		3612 & 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.sip.ipv6",
+		.field_bit_size = 128,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3056 >> 8) & 0xff,
+			3056 & 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 = "l3_dip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3619 >> 8) & 0xff,
-		3619 & 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 = {
-	(585 >> 8) & 0xff,
-	585 & 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 = {
+			(3061 >> 8) & 0xff,
+			3061 & 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 = "l3_dip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3623 >> 8) & 0xff,
-		3623 & 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 = {
-	(586 >> 8) & 0xff,
-	586 & 0xff}
+		.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 = {
+			(3082 >> 8) & 0xff,
+			3082 & 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 = "l3_dip0.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3626 >> 8) & 0xff,
-		3626 & 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.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3090 >> 8) & 0xff,
+			3090 & 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 = "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 = {
-		(3633 >> 8) & 0xff,
-		3633 & 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 = {
-	(588 >> 8) & 0xff,
-	588 & 0xff}
+		.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 = {
+			(3098 >> 8) & 0xff,
+			3098 & 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 = "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 = {
-		(3637 >> 8) & 0xff,
-		3637 & 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 = {
-	(589 >> 8) & 0xff,
-	589 & 0xff}
+		.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 = {
+			(3106 >> 8) & 0xff,
+			3106 & 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 = "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 = {
-		(3640 >> 8) & 0xff,
-		3640 & 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.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3114 >> 8) & 0xff,
+			3114 & 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 = "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 = {
-		(3647 >> 8) & 0xff,
-		3647 & 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 = {
-	(591 >> 8) & 0xff,
-	591 & 0xff}
+		.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 = {
+			(3122 >> 8) & 0xff,
+			3122 & 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 = "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 = {
-		(3651 >> 8) & 0xff,
-		3651 & 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 = {
-	(592 >> 8) & 0xff,
-	592 & 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 = {
-		(3654 >> 8) & 0xff,
-		3654 & 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_qos.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3661 >> 8) & 0xff,
-		3661 & 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 = {
-	(594 >> 8) & 0xff,
-	594 & 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 = {
-		(3665 >> 8) & 0xff,
-		3665 & 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 = {
-	(595 >> 8) & 0xff,
-	595 & 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 = {
-		(3668 >> 8) & 0xff,
-		3668 & 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_src.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3675 >> 8) & 0xff,
-		3675 & 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 = {
-	(597 >> 8) & 0xff,
-	597 & 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 = {
-		(3679 >> 8) & 0xff,
-		3679 & 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 = {
-	(598 >> 8) & 0xff,
-	598 & 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 = {
-		(3682 >> 8) & 0xff,
-		3682 & 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.en",
-		.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-	.field_opr1 = {
-		(3689 >> 8) & 0xff,
-		3689 & 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 = {
-	(600 >> 8) & 0xff,
-	600 & 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 = {
-		(3693 >> 8) & 0xff,
-		3693 & 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 = {
-	(601 >> 8) & 0xff,
-	601 & 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 = {
-		(3696 >> 8) & 0xff,
-		3696 & 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 = {
-			(3742 >> 8) & 0xff,
-			3742 & 0xff,
-			(5 >> 8) & 0xff,
-			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	{
-		.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 = {
-			(3752 >> 8) & 0xff,
-			3752 & 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.ttl",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3803 >> 8) & 0xff,
-			3803 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.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 = {
-			(3811 >> 8) & 0xff,
-			3811 & 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 = "tl3.prot",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3819 >> 8) & 0xff,
-			3819 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	{
-		.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 = {
-			(3827 >> 8) & 0xff,
-			3827 & 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 = "tl3.qos",
-		.field_bit_size = 8,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3835 >> 8) & 0xff,
-			3835 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
-	{
-		.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 = {
-			(3843 >> 8) & 0xff,
-			3843 & 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 = "tl4.src",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(3851 >> 8) & 0xff,
-			3851 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.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 = {
+			(3130 >> 8) & 0xff,
+			3130 & 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 = "tl4.src",
@@ -47752,8 +50135,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3859 >> 8) & 0xff,
-			3859 & 0xff,
+			(3138 >> 8) & 0xff,
+			3138 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -47768,11 +50151,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3868 >> 8) & 0xff,
-			3868 & 0xff,
+			(3147 >> 8) & 0xff,
+			3147 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -47781,8 +50167,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3877 >> 8) & 0xff,
-			3877 & 0xff,
+			(3156 >> 8) & 0xff,
+			3156 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -47797,11 +50183,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3884 >> 8) & 0xff,
-			3884 & 0xff,
+			(3163 >> 8) & 0xff,
+			3163 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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_src3 = BNXT_ULP_FIELD_SRC_SKIP
 		},
 	{
@@ -47810,8 +50199,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3890 >> 8) & 0xff,
-			3890 & 0xff,
+			(3169 >> 8) & 0xff,
+			3169 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -47826,11 +50215,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3898 >> 8) & 0xff,
-			3898 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+			(3176 >> 8) & 0xff,
+			3176 & 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
 		},
 	{
@@ -47839,10 +50231,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3907 >> 8) & 0xff,
-			3907 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
+			(3183 >> 8) & 0xff,
+			3183 & 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,
@@ -47855,11 +50247,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3915 >> 8) & 0xff,
-			3915 & 0xff,
+			(3190 >> 8) & 0xff,
+			3190 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -47868,8 +50263,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3922 >> 8) & 0xff,
-			3922 & 0xff,
+			(3197 >> 8) & 0xff,
+			3197 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -47884,11 +50279,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3930 >> 8) & 0xff,
-			3930 & 0xff,
+			(3205 >> 8) & 0xff,
+			3205 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -47897,8 +50295,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3939 >> 8) & 0xff,
-			3939 & 0xff,
+			(3214 >> 8) & 0xff,
+			3214 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -47913,15 +50311,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3948 >> 8) & 0xff,
-			3948 & 0xff,
+			(3223 >> 8) & 0xff,
+			3223 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(623 >> 8) & 0xff,
-		623 & 0xff}
+		(533 >> 8) & 0xff,
+		533 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -47929,15 +50330,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3953 >> 8) & 0xff,
-			3953 & 0xff,
+			(3228 >> 8) & 0xff,
+			3228 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(624 >> 8) & 0xff,
-		624 & 0xff}
+		(534 >> 8) & 0xff,
+		534 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -47945,11 +50349,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3957 >> 8) & 0xff,
-			3957 & 0xff,
+			(3232 >> 8) & 0xff,
+			3232 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -47958,8 +50365,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3966 >> 8) & 0xff,
-			3966 & 0xff,
+			(3241 >> 8) & 0xff,
+			3241 & 0xff,
 			(5 >> 8) & 0xff,
 			5 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -47968,8 +50375,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_IO_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(626 >> 8) & 0xff,
-		626 & 0xff}
+		(536 >> 8) & 0xff,
+		536 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -47977,8 +50384,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3971 >> 8) & 0xff,
-			3971 & 0xff,
+			(3246 >> 8) & 0xff,
+			3246 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -47987,8 +50394,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_OI_VLAN_VID & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(627 >> 8) & 0xff,
-		627 & 0xff}
+		(537 >> 8) & 0xff,
+		537 & 0xff}
 		},
 	{
 		.description = "l2_ivv",
@@ -47996,8 +50403,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3975 >> 8) & 0xff,
-			3975 & 0xff,
+			(3250 >> 8) & 0xff,
+			3250 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -48012,11 +50419,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3984 >> 8) & 0xff,
-			3984 & 0xff,
+			(3259 >> 8) & 0xff,
+			3259 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -48025,8 +50435,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(3993 >> 8) & 0xff,
-			3993 & 0xff,
+			(3268 >> 8) & 0xff,
+			3268 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -48041,11 +50451,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4001 >> 8) & 0xff,
-			4001 & 0xff,
+			(3276 >> 8) & 0xff,
+			3276 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -48054,8 +50467,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4008 >> 8) & 0xff,
-			4008 & 0xff,
+			(3283 >> 8) & 0xff,
+			3283 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -48070,11 +50483,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4015 >> 8) & 0xff,
-			4015 & 0xff,
+			(3290 >> 8) & 0xff,
+			3290 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -48083,8 +50499,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4022 >> 8) & 0xff,
-			4022 & 0xff,
+			(3297 >> 8) & 0xff,
+			3297 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -48099,11 +50515,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4029 >> 8) & 0xff,
-			4029 & 0xff,
+			(3304 >> 8) & 0xff,
+			3304 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -48112,8 +50531,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4036 >> 8) & 0xff,
-			4036 & 0xff,
+			(3311 >> 8) & 0xff,
+			3311 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -48128,11 +50547,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4043 >> 8) & 0xff,
-			4043 & 0xff,
+			(3318 >> 8) & 0xff,
+			3318 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -48141,8 +50563,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4050 >> 8) & 0xff,
-			4050 & 0xff,
+			(3325 >> 8) & 0xff,
+			3325 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -48157,15 +50579,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4057 >> 8) & 0xff,
-			4057 & 0xff,
+			(3332 >> 8) & 0xff,
+			3332 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(639 >> 8) & 0xff,
-		639 & 0xff}
+		(549 >> 8) & 0xff,
+		549 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -48173,15 +50598,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4061 >> 8) & 0xff,
-			4061 & 0xff,
+			(3336 >> 8) & 0xff,
+			3336 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
-		(640 >> 8) & 0xff,
-		640 & 0xff}
+		(550 >> 8) & 0xff,
+		550 & 0xff}
 		},
 	{
 		.description = "l3.ttl",
@@ -48189,11 +50617,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4064 >> 8) & 0xff,
-			4064 & 0xff,
+			(3339 >> 8) & 0xff,
+			3339 & 0xff,
 			(3 >> 8) & 0xff,
 			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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
 		},
 	{
@@ -48202,8 +50633,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 		.field_opr1 = {
-			(4071 >> 8) & 0xff,
-			4071 & 0xff,
+			(3346 >> 8) & 0xff,
+			3346 & 0xff,
 			(4 >> 8) & 0xff,
 			4 & 0xff},
 		.field_src2 = BNXT_ULP_FIELD_SRC_HF,
@@ -48212,443 +50643,4831 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_key_ext_list[] = {
 		BNXT_ULP_GLB_HF_ID_I_IPV4_TTL & 0xff},
 		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 		.field_opr3 = {
-		(642 >> 8) & 0xff,
-		642 & 0xff}
+		(552 >> 8) & 0xff,
+		552 & 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 = {
+			(3350 >> 8) & 0xff,
+			3350 & 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 = {
+		(553 >> 8) & 0xff,
+		553 & 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 = {
+			(3353 >> 8) & 0xff,
+			3353 & 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 = {
+			(3359 >> 8) & 0xff,
+			3359 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(555 >> 8) & 0xff,
+		555 & 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 = {
+			(3362 >> 8) & 0xff,
+			3362 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(556 >> 8) & 0xff,
+		556 & 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 = {
+			(3364 >> 8) & 0xff,
+			3364 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(557 >> 8) & 0xff,
+		557 & 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 = {
+			(3366 >> 8) & 0xff,
+			3366 & 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 = {
+		(558 >> 8) & 0xff,
+		558 & 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 = {
-			(4075 >> 8) & 0xff,
-			4075 & 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 = {
-		(643 >> 8) & 0xff,
-		643 & 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 = {
+			(3370 >> 8) & 0xff,
+			3370 & 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 = {
+		(559 >> 8) & 0xff,
+		559 & 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 = {
+			(3374 >> 8) & 0xff,
+			3374 & 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 = {
+		(560 >> 8) & 0xff,
+		560 & 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 = {
+			(3377 >> 8) & 0xff,
+			3377 & 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 = {
+			(3383 >> 8) & 0xff,
+			3383 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_IP_PROTO_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(562 >> 8) & 0xff,
+		562 & 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 = {
+			(3386 >> 8) & 0xff,
+			3386 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_IP_PROTO_TCP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(563 >> 8) & 0xff,
+		563 & 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 = {
+			(3388 >> 8) & 0xff,
+			3388 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+		.field_opr2 = {
+		ULP_THOR2_SYM_IP_PROTO_UDP},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(564 >> 8) & 0xff,
+		564 & 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 = {
+			(3390 >> 8) & 0xff,
+			3390 & 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 = {
+		(565 >> 8) & 0xff,
+		565 & 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 = {
+			(3394 >> 8) & 0xff,
+			3394 & 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 = {
+		(566 >> 8) & 0xff,
+		566 & 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 = {
+			(3398 >> 8) & 0xff,
+			3398 & 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 = {
+		(567 >> 8) & 0xff,
+		567 & 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 = {
+			(3401 >> 8) & 0xff,
+			3401 & 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 = {
+			(3408 >> 8) & 0xff,
+			3408 & 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 = {
+		(569 >> 8) & 0xff,
+		569 & 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 = {
+			(3412 >> 8) & 0xff,
+			3412 & 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 = {
+		(570 >> 8) & 0xff,
+		570 & 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 = {
+			(3415 >> 8) & 0xff,
+			3415 & 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.qos",
+		.field_bit_size = 8,
+		.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_I_IPV4_QOS >> 8) & 0xff,
+		BNXT_ULP_GLB_HF_ID_I_IPV4_QOS & 0xff},
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(572 >> 8) & 0xff,
+		572 & 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 = {
+			(3426 >> 8) & 0xff,
+			3426 & 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 = {
+		(573 >> 8) & 0xff,
+		573 & 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 = {
+			(3429 >> 8) & 0xff,
+			3429 & 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 = {
+			(3436 >> 8) & 0xff,
+			3436 & 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 = {
+		(575 >> 8) & 0xff,
+		575 & 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 = {
+			(3440 >> 8) & 0xff,
+			3440 & 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_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(576 >> 8) & 0xff,
+		576 & 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 = {
+			(3443 >> 8) & 0xff,
+			3443 & 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 = {
+		(577 >> 8) & 0xff,
+		577 & 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 = {
+			(3446 >> 8) & 0xff,
+			3446 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		},
+	{
+		.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 = {
+			(3452 >> 8) & 0xff,
+			3452 & 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 = {
+		(579 >> 8) & 0xff,
+		579 & 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 = {
+			(3456 >> 8) & 0xff,
+			3456 & 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_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(580 >> 8) & 0xff,
+		580 & 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 = {
+			(3459 >> 8) & 0xff,
+			3459 & 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 = {
+		(581 >> 8) & 0xff,
+		581 & 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 = {
+			(3462 >> 8) & 0xff,
+			3462 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		},
+	{
+		.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 = {
+			(3468 >> 8) & 0xff,
+			3468 & 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 = {
+		(583 >> 8) & 0xff,
+		583 & 0xff}
+		},
+	{
+		.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 = {
+			(3472 >> 8) & 0xff,
+			3472 & 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 = {
+		(584 >> 8) & 0xff,
+		584 & 0xff}
+		},
+	{
+		.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 = {
+			(3475 >> 8) & 0xff,
+			3475 & 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 = {
+		(585 >> 8) & 0xff,
+		585 & 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 = {
+			(3478 >> 8) & 0xff,
+			3478 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_SKIP,
+		.field_src3 = BNXT_ULP_FIELD_SRC_CONST
+		},
+	{
+		.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 = {
+			(3484 >> 8) & 0xff,
+			3484 & 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 = {
+		(587 >> 8) & 0xff,
+		587 & 0xff}
+		},
+	{
+		.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 = {
+			(3488 >> 8) & 0xff,
+			3488 & 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 = {
+		(588 >> 8) & 0xff,
+		588 & 0xff}
+		},
+	{
+		.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 = {
+			(3491 >> 8) & 0xff,
+			3491 & 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 = {
+		(589 >> 8) & 0xff,
+		589 & 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 = {
+			(3494 >> 8) & 0xff,
+			3494 & 0xff,
+			(2 >> 8) & 0xff,
+			2 & 0xff},
+		.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 = {
+		(3531 >> 8) & 0xff,
+		3531 & 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_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3557 >> 8) & 0xff,
+		3557 & 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_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3577 >> 8) & 0xff,
+		3577 & 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 = {
+		(3585 >> 8) & 0xff,
+		3585 & 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 = {
+		(3593 >> 8) & 0xff,
+		3593 & 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 = {
+		(3601 >> 8) & 0xff,
+		3601 & 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 = {
+		(3609 >> 8) & 0xff,
+		3609 & 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 = {
+		(3618 >> 8) & 0xff,
+		3618 & 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 = {
+		(3625 >> 8) & 0xff,
+		3625 & 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 = {
+		(3633 >> 8) & 0xff,
+		3633 & 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 = {
+		(3641 >> 8) & 0xff,
+		3641 & 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 = {
+		(3649 >> 8) & 0xff,
+		3649 & 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 = {
+		(3658 >> 8) & 0xff,
+		3658 & 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 = {
+	(603 >> 8) & 0xff,
+	603 & 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 = {
+		(3663 >> 8) & 0xff,
+		3663 & 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 = {
+	(604 >> 8) & 0xff,
+	604 & 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 = {
+		(3667 >> 8) & 0xff,
+		3667 & 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 = {
+		(3676 >> 8) & 0xff,
+		3676 & 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_sip3.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3684 >> 8) & 0xff,
+		3684 & 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_sip2.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3691 >> 8) & 0xff,
+		3691 & 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_sip1.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3698 >> 8) & 0xff,
+		3698 & 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_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3705 >> 8) & 0xff,
+		3705 & 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 = {
+	(610 >> 8) & 0xff,
+	610 & 0xff}
+		},
+	{
+		.description = "l3_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3709 >> 8) & 0xff,
+		3709 & 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 = {
+	(611 >> 8) & 0xff,
+	611 & 0xff}
+		},
+	{
+		.description = "l3_sip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3712 >> 8) & 0xff,
+		3712 & 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_dip3.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3719 >> 8) & 0xff,
+		3719 & 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_dip2.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3726 >> 8) & 0xff,
+		3726 & 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_dip1.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3733 >> 8) & 0xff,
+		3733 & 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_dip0.en",
+		.field_bit_size = 1,
+	.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_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(616 >> 8) & 0xff,
+	616 & 0xff}
+		},
+	{
+		.description = "l3_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3744 >> 8) & 0xff,
+		3744 & 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 = {
+	(617 >> 8) & 0xff,
+	617 & 0xff}
+		},
+	{
+		.description = "l3_dip0.en",
+		.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(3747 >> 8) & 0xff,
+		3747 & 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_ttl.en",
+		.field_bit_size = 1,
+	.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_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(619 >> 8) & 0xff,
+	619 & 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 = {
+		(3758 >> 8) & 0xff,
+		3758 & 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 = {
+	(620 >> 8) & 0xff,
+	620 & 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 = {
+		(3761 >> 8) & 0xff,
+		3761 & 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_prot.en",
+		.field_bit_size = 1,
+	.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_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(622 >> 8) & 0xff,
+	622 & 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 = {
+		(3772 >> 8) & 0xff,
+		3772 & 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 = {
+	(623 >> 8) & 0xff,
+	623 & 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 = {
+		(3775 >> 8) & 0xff,
+		3775 & 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_qos.en",
+		.field_bit_size = 1,
+	.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_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(625 >> 8) & 0xff,
+	625 & 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 = {
+		(3786 >> 8) & 0xff,
+		3786 & 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 = {
+	(626 >> 8) & 0xff,
+	626 & 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 = {
+		(3789 >> 8) & 0xff,
+		3789 & 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_src.en",
+		.field_bit_size = 1,
+	.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_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(628 >> 8) & 0xff,
+	628 & 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 = {
+		(3800 >> 8) & 0xff,
+		3800 & 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 = {
+	(629 >> 8) & 0xff,
+	629 & 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 = {
+		(3803 >> 8) & 0xff,
+		3803 & 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.en",
+		.field_bit_size = 1,
+	.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_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(631 >> 8) & 0xff,
+	631 & 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 = {
+		(3814 >> 8) & 0xff,
+		3814 & 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 = {
+	(632 >> 8) & 0xff,
+	632 & 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 = {
+		(3817 >> 8) & 0xff,
+		3817 & 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 = {
+			(3863 >> 8) & 0xff,
+			3863 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(3873 >> 8) & 0xff,
+			3873 & 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.ttl",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3924 >> 8) & 0xff,
+			3924 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(3932 >> 8) & 0xff,
+			3932 & 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 = "tl3.prot",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3940 >> 8) & 0xff,
+			3940 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(3948 >> 8) & 0xff,
+			3948 & 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 = "tl3.qos",
+		.field_bit_size = 8,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3956 >> 8) & 0xff,
+			3956 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(3964 >> 8) & 0xff,
+			3964 & 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 = "tl4.src",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3972 >> 8) & 0xff,
+			3972 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(3980 >> 8) & 0xff,
+			3980 & 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 = "tl4.dst",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(3989 >> 8) & 0xff,
+			3989 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(3998 >> 8) & 0xff,
+			3998 & 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 = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4005 >> 8) & 0xff,
+			4005 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.description = "tids",
+		.field_bit_size = 24,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4011 >> 8) & 0xff,
+			4011 & 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_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(4019 >> 8) & 0xff,
+			4019 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(4028 >> 8) & 0xff,
+			4028 & 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_smac",
+		.field_bit_size = 48,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4036 >> 8) & 0xff,
+			4036 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(4043 >> 8) & 0xff,
+			4043 & 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 = {
+			(4051 >> 8) & 0xff,
+			4051 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(4060 >> 8) & 0xff,
+			4060 & 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 = {
+			(4069 >> 8) & 0xff,
+			4069 & 0xff,
+			(5 >> 8) & 0xff,
+			5 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(654 >> 8) & 0xff,
+		654 & 0xff}
+		},
+	{
+		.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 = {
+			(4074 >> 8) & 0xff,
+			4074 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(655 >> 8) & 0xff,
+		655 & 0xff}
+		},
+	{
+		.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 = {
+			(4078 >> 8) & 0xff,
+			4078 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(4087 >> 8) & 0xff,
+			4087 & 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 = {
+		(657 >> 8) & 0xff,
+		657 & 0xff}
+		},
+	{
+		.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 = {
+			(4092 >> 8) & 0xff,
+			4092 & 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 = {
+		(658 >> 8) & 0xff,
+		658 & 0xff}
+		},
+	{
+		.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 = {
+			(4096 >> 8) & 0xff,
+			4096 & 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_etype",
+		.field_bit_size = 16,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4105 >> 8) & 0xff,
+			4105 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(4114 >> 8) & 0xff,
+			4114 & 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 = {
+			(4122 >> 8) & 0xff,
+			4122 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(4129 >> 8) & 0xff,
+			4129 & 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 = {
+			(4136 >> 8) & 0xff,
+			4136 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(4143 >> 8) & 0xff,
+			4143 & 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.dip.ipv4",
+		.field_bit_size = 32,
+		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+		.field_opr1 = {
+			(4150 >> 8) & 0xff,
+			4150 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(4157 >> 8) & 0xff,
+			4157 & 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 = "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 = {
+			(4164 >> 8) & 0xff,
+			4164 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(4171 >> 8) & 0xff,
+			4171 & 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 = {
+			(4178 >> 8) & 0xff,
+			4178 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(670 >> 8) & 0xff,
+		670 & 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 = {
+			(4182 >> 8) & 0xff,
+			4182 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(671 >> 8) & 0xff,
+		671 & 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 = {
+			(4185 >> 8) & 0xff,
+			4185 & 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 = {
+			(4192 >> 8) & 0xff,
+			4192 & 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 = {
+		(673 >> 8) & 0xff,
+		673 & 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 = {
+			(4196 >> 8) & 0xff,
+			4196 & 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 = {
+		(674 >> 8) & 0xff,
+		674 & 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 = {
+			(4199 >> 8) & 0xff,
+			4199 & 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 = {
+			(4206 >> 8) & 0xff,
+			4206 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(676 >> 8) & 0xff,
+		676 & 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 = {
+			(4210 >> 8) & 0xff,
+			4210 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(677 >> 8) & 0xff,
+		677 & 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 = {
+			(4213 >> 8) & 0xff,
+			4213 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(4220 >> 8) & 0xff,
+			4220 & 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 = {
+		(679 >> 8) & 0xff,
+		679 & 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 = {
+			(4224 >> 8) & 0xff,
+			4224 & 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 = {
+		(680 >> 8) & 0xff,
+		680 & 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 = {
+			(4227 >> 8) & 0xff,
+			4227 & 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 = {
+			(4234 >> 8) & 0xff,
+			4234 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(682 >> 8) & 0xff,
+		682 & 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 = {
+			(4238 >> 8) & 0xff,
+			4238 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(683 >> 8) & 0xff,
+		683 & 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 = {
+			(4241 >> 8) & 0xff,
+			4241 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(4248 >> 8) & 0xff,
+			4248 & 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 = {
+		(685 >> 8) & 0xff,
+		685 & 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 = {
+			(4252 >> 8) & 0xff,
+			4252 & 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 = {
+		(686 >> 8) & 0xff,
+		686 & 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 = {
+			(4255 >> 8) & 0xff,
+			4255 & 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 = {
+			(4262 >> 8) & 0xff,
+			4262 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(688 >> 8) & 0xff,
+		688 & 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 = {
+			(4266 >> 8) & 0xff,
+			4266 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(689 >> 8) & 0xff,
+		689 & 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 = {
+			(4269 >> 8) & 0xff,
+			4269 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.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 = {
+			(4276 >> 8) & 0xff,
+			4276 & 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 = {
+		(691 >> 8) & 0xff,
+		691 & 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 = {
+			(4280 >> 8) & 0xff,
+			4280 & 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_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(692 >> 8) & 0xff,
+		692 & 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 = {
+			(4283 >> 8) & 0xff,
+			4283 & 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_SKIP
+		},
+	{
+		.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 = {
+			(4290 >> 8) & 0xff,
+			4290 & 0xff,
+			(4 >> 8) & 0xff,
+			4 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(694 >> 8) & 0xff,
+		694 & 0xff}
+		},
+	{
+		.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 = {
+			(4294 >> 8) & 0xff,
+			4294 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+		.field_opr3 = {
+		(695 >> 8) & 0xff,
+		695 & 0xff}
+		},
+	{
+		.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 = {
+			(4297 >> 8) & 0xff,
+			4297 & 0xff,
+			(3 >> 8) & 0xff,
+			3 & 0xff},
+		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
+		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+		},
+	{
+		.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 = {
+			(4304 >> 8) & 0xff,
+			4304 & 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 = {
+		(697 >> 8) & 0xff,
+		697 & 0xff}
+		},
+	{
+		.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 = {
+			(4308 >> 8) & 0xff,
+			4308 & 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 = {
+		(698 >> 8) & 0xff,
+		698 & 0xff}
+		},
+	{
+		.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 = {
+			(4311 >> 8) & 0xff,
+			4311 & 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
+		}
+};
+
+struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
+	/* class_tid: 1, , table: dyn_upar_tbl.srv6_alloc */
+	{
+	.description = "l2_upar_tun.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "gre_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_id.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_1.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_context.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_secondary.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_option.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_option.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_option.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_option_secondary.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_pat_be.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_pat_be_secondary.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "re_gparse_l3_enables.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "res01",
+	.field_bit_size = 9,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_pat_tun",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_pat_en_tun",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_tun_res01",
+	.field_bit_size = 15,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_res01",
+	.field_bit_size = 15,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_pat",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_hdr_size",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_hdr_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_hdr_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_res02",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_pat_tun",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_pat_en_tun",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_res01",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_hdr_size",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_hdr_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_hdr_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_res01",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_hdr_size",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_hdr_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_encap",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_hdr_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_nib_peek_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "gre_upar_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "gre_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "gre_upar_res01",
+	.field_bit_size = 15,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_flow_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_flow_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_flow_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_flow_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_chksum_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_chksum_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_res01",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_src_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_src_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_src_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_src_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_opt_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_res01",
+	.field_bit_size = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_dest_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_dest_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_dest_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_dest_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_res01",
+	.field_bit_size = 12,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_src_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_src_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_src_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_src_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_dest_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_dest_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_res01",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_dest_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_dest_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_chksum_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_chksum_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_opt_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_res01",
+	.field_bit_size = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_id_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_id_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_id_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_qos_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_qos_slice",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_qos_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_opt_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_res01",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_id_mask",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_1_context_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_1_context_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_1_context_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_1_res01",
+	.field_bit_size = 19,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_context_mask",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_hdr_size",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_hdr_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_encap",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_hdr_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_nib_peek_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar2_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar3_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar4_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar5_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar6_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar7_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_pat_be_res01",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar2s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar3s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar4s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar5s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar6s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar7s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_pat_be_res01",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_tcp",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_udp",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_icmpv4",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_icmpv6",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_gre",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_ipv4_encap",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_ipv6_encap",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_hopbyhop",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_dest_opt",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_routing",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_fragment",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_esp",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_ah",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_mob",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_gre_ipv4",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_gre_ipv6",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_gre_nvgre",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_gre_6558",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_udp_4500",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_gre_ext_mode",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_res02",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_ipsec_ah",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_ipsec_esp",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_res03",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_disables",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_enables",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* class_tid: 1, , table: dyn_upar_tbl.srv6_wr */
+	{
+	.description = "l2_upar_tun.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "l4_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "gre_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "t_id.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "t_upar_1.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "t_context.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "tun_upar_secondary.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_option.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_option.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_option.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "tun_upar_option_secondary.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_pat_be.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "tun_upar_pat_be_secondary.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "re_gparse_l3_enables.en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "res01",
+	.field_bit_size = 9,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_pat_tun",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_pat_en_tun",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_tun_res01",
+	.field_bit_size = 15,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_upar_res01",
+	.field_bit_size = 15,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_pat",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_hdr_size",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_hdr_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_hdr_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_res02",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_pat_tun",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_IP_PROTO_IPV6_ROUTE}
+	},
+	{
+	.description = "l3_upar_pat_en_tun",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "l3_upar_res01",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_hdr_size",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_hdr_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_hdr_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_res01",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	(ULP_THOR2_SYM_SRV6_IPV6_ENCAP >> 8) & 0xff,
+	ULP_THOR2_SYM_SRV6_IPV6_ENCAP & 0xff}
+	},
+	{
+	.description = "tun_upar_hdr_size",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_HDR_SIZE}
+	},
+	{
+	.description = "tun_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "tun_upar_hdr_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "tun_upar_encap",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_V6_ENCAP}
+	},
+	{
+	.description = "tun_upar_hdr_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_nib_peek_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "gre_upar_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "gre_upar_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "gre_upar_res01",
+	.field_bit_size = 15,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_flow_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_flow_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_flow_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_flow_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_chksum_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_chksum_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_1_res01",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_src_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_src_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_src_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_src_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_opt_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_2_res01",
+	.field_bit_size = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_dest_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_dest_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_dest_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_dest_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar_3_res01",
+	.field_bit_size = 12,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_src_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_src_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_src_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_src_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_dest_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_dest_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_1_res01",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_dest_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_dest_mask",
+	.field_bit_size = 7,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_chksum_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_chksum_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_opt_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar_2_res01",
+	.field_bit_size = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_id_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "t_upar_id_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_ID_EXTRACTION_OFFSET}
+	},
+	{
+	.description = "t_upar_id_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_ID_EXTRACTION_LENGTH}
+	},
+	{
+	.description = "t_upar_qos_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_qos_slice",
+	.field_bit_size = 3,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_qos_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_upar_opt_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "t_upar_res01",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_id_mask",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	(ULP_THOR2_SYM_SRV6_ID_MASK >> 24) & 0xff,
+	(ULP_THOR2_SYM_SRV6_ID_MASK >> 16) & 0xff,
+	(ULP_THOR2_SYM_SRV6_ID_MASK >> 8) & 0xff,
+	ULP_THOR2_SYM_SRV6_ID_MASK & 0xff}
+	},
+	{
+	.description = "t_upar_1_context_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "t_upar_1_context_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_OFFSET}
+	},
+	{
+	.description = "t_upar_1_context_size",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_CTXT_EXTRACTION_LENGTH}
+	},
+	{
+	.description = "t_upar_1_res01",
+	.field_bit_size = 19,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "t_context_mask",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	(ULP_THOR2_SYM_SRV6_CTXT_MASK >> 24) & 0xff,
+	(ULP_THOR2_SYM_SRV6_CTXT_MASK >> 16) & 0xff,
+	(ULP_THOR2_SYM_SRV6_CTXT_MASK >> 8) & 0xff,
+	ULP_THOR2_SYM_SRV6_CTXT_MASK & 0xff}
+	},
+	{
+	.description = "tun_upars_pat",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_hdr_size",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_pat_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_hdr_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_encap",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_hdr_offs",
+	.field_bit_size = 6,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_nib_peek_en",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar0_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l3_upar1_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar0_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l4_upar1_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_HDR_LEN_OFFSET}
+	},
+	{
+	.description = "tun_upar0_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_8BIT_FLD}
+	},
+	{
+	.description = "tun_upar0_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_8BYTE_UNIT}
+	},
+	{
+	.description = "tun_upar0_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_loffs",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_bits",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_nib",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_hunits",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_opt_res01",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_SRV6_PATTERN}
+	},
+	{
+	.description = "tun_upar1_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar2_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar3_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar4_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar5_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar6_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar7_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar_pat_be_res01",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar0s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar1s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar2s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar3s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar4s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar5s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar6s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upar7s_pat_be",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tun_upars_pat_be_res01",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_tcp",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_udp",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_icmpv4",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_icmpv6",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "regp_l3_en_gre",
+	.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 = {
-			(4078 >> 8) & 0xff,
-			4078 & 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 = "regp_l3_en_ipv4_encap",
+	.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 = {
-			(4085 >> 8) & 0xff,
-			4085 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(645 >> 8) & 0xff,
-		645 & 0xff}
-		},
+	.description = "regp_l3_en_ipv6_encap",
+	.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 = {
-			(4089 >> 8) & 0xff,
-			4089 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(646 >> 8) & 0xff,
-		646 & 0xff}
-		},
+	.description = "regp_l3_en_res01",
+	.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 = {
-			(4092 >> 8) & 0xff,
-			4092 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
+	.description = "regp_l3_en_hopbyhop",
+	.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 = {
-			(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_IPV4_PROTO_ID >> 8) & 0xff,
-		BNXT_ULP_GLB_HF_ID_I_IPV4_PROTO_ID & 0xff},
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(648 >> 8) & 0xff,
-		648 & 0xff}
-		},
+	.description = "regp_l3_en_dest_opt",
+	.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 = {
-			(4103 >> 8) & 0xff,
-			4103 & 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 = {
-		(649 >> 8) & 0xff,
-		649 & 0xff}
-		},
+	.description = "regp_l3_en_routing",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	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 = {
-			(4106 >> 8) & 0xff,
-			4106 & 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 = "regp_l3_en_fragment",
+	.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 = {
-			(4113 >> 8) & 0xff,
-			4113 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(651 >> 8) & 0xff,
-		651 & 0xff}
-		},
+	.description = "regp_l3_en_esp",
+	.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 = {
-			(4117 >> 8) & 0xff,
-			4117 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(652 >> 8) & 0xff,
-		652 & 0xff}
-		},
+	.description = "regp_l3_en_ah",
+	.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 = {
-			(4120 >> 8) & 0xff,
-			4120 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
+	.description = "regp_l3_en_mob",
+	.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 = {
-			(4127 >> 8) & 0xff,
-			4127 & 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 = {
-		(654 >> 8) & 0xff,
-		654 & 0xff}
-		},
+	.description = "regp_l3_en_gre_ipv4",
+	.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 = {
-			(4131 >> 8) & 0xff,
-			4131 & 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 = {
-		(655 >> 8) & 0xff,
-		655 & 0xff}
-		},
+	.description = "regp_l3_en_gre_ipv6",
+	.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 = {
-			(4134 >> 8) & 0xff,
-			4134 & 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 = "regp_l3_en_gre_nvgre",
+	.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 = {
-			(4141 >> 8) & 0xff,
-			4141 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(657 >> 8) & 0xff,
-		657 & 0xff}
-		},
+	.description = "regp_l3_en_gre_6558",
+	.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 = {
-			(4145 >> 8) & 0xff,
-			4145 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(658 >> 8) & 0xff,
-		658 & 0xff}
-		},
+	.description = "regp_l3_en_udp_4500",
+	.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 = {
-			(4148 >> 8) & 0xff,
-			4148 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
+	.description = "regp_l3_en_gre_ext_mode",
+	.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 = {
-			(4155 >> 8) & 0xff,
-			4155 & 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 = {
-		(660 >> 8) & 0xff,
-		660 & 0xff}
-		},
+	.description = "regp_l3_en_res02",
+	.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 = {
-			(4159 >> 8) & 0xff,
-			4159 & 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_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(661 >> 8) & 0xff,
-		661 & 0xff}
-		},
+	.description = "regp_l3_en_ipsec_ah",
+	.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 = {
-			(4162 >> 8) & 0xff,
-			4162 & 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_SKIP
-		},
+	.description = "regp_l3_en_ipsec_esp",
+	.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 = {
-			(4169 >> 8) & 0xff,
-			4169 & 0xff,
-			(4 >> 8) & 0xff,
-			4 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(663 >> 8) & 0xff,
-		663 & 0xff}
-		},
+	.description = "regp_l3_en_res03",
+	.field_bit_size = 3,
+	.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 = {
-			(4173 >> 8) & 0xff,
-			4173 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
-		.field_opr3 = {
-		(664 >> 8) & 0xff,
-		664 & 0xff}
-		},
+	.description = "regp_l3_en_disables",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
 	{
-		.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 = {
-			(4176 >> 8) & 0xff,
-			4176 & 0xff,
-			(3 >> 8) & 0xff,
-			3 & 0xff},
-		.field_src2 = BNXT_ULP_FIELD_SRC_ONES,
-		.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
-		},
+	.description = "regp_l3_en_enables",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* class_tid: 1, , table: tunnel_gparse_cache.dyn_upar_wr */
 	{
-		.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 = {
-			(4183 >> 8) & 0xff,
-			4183 & 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 = {
-		(666 >> 8) & 0xff,
-		666 & 0xff}
-		},
+	.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 = "l4.dst",
-		.field_bit_size = 16,
-		.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
-		.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
-		.field_opr1 = {
-			(4187 >> 8) & 0xff,
-			4187 & 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 = {
-		(667 >> 8) & 0xff,
-		667 & 0xff}
-		},
+	.description = "udp_port",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CF,
+	.field_opr1 = {
+	(BNXT_ULP_CF_IDX_TUNNEL_PORT >> 8) & 0xff,
+	BNXT_ULP_CF_IDX_TUNNEL_PORT & 0xff}
+	},
 	{
-		.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 = {
-			(4190 >> 8) & 0xff,
-			4190 & 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
-		}
-};
-
-struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
+	.description = "global_handle",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "alloc_tun",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_DPORT_TUN_TYPE_SRV6}
+	},
+	{
+	.description = "dyn_tun_type",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0 & 0xff}
+	},
+	{
+	.description = "dyn_upar_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_DYN_UPAR_ID >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_DYN_UPAR_ID & 0xff}
+	},
 	/* class_tid: 1, , table: cust_tunnel.configure_vxlan_port */
 	{
 	.description = "udp_port",
@@ -48704,6 +55523,24 @@ 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_ZERO
 	},
+	{
+	.description = "alloc_tun",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "dyn_tun_type",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "dyn_upar_id",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
 	/* class_tid: 1, , table: cmm_stat_record.add_stat_tunnel_cache */
 	{
 	.description = "packet_count",
@@ -48924,6 +55761,128 @@ 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_ZERO
 	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.chain_entry_dup */
+	{
+	.description = "l2ip_dest_data",
+	.field_bit_size = 17,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_dest_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_rfs_data",
+	.field_bit_size = 9,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_rfs_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_act_rec_ptr",
+	.field_bit_size = 26,
+	.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 = "l2ip_act_scope",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+	.field_opr1 = {
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+		(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+		BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+	},
+	{
+	.description = "l2ip_act_hint",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_act_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_meta",
+	.field_bit_size = 35,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_meta_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ctxt_opcode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW}
+	},
+	{
+	.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}
+	},
+	{
+	.description = "prsv_prof_func_id",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_cntxt_id",
+	.field_bit_size = 11,
+	.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 = "prsv_l2ip_cntxt_id",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "parif",
+	.field_bit_size = 5,
+	.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}
+	},
+	{
+	.description = "prsv_parif",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
 	/* class_tid: 1, , table: flow_chain_l2_cntxt.write */
 	{
 	.description = "rid",
@@ -48943,6 +55902,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	(BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
 	BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
 	},
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */
 	/* class_tid: 1, , table: l2_cntxt_tcam.l2_table_create */
 	{
 	.description = "l2ip_dest_data",
@@ -49064,6 +56024,127 @@ 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_ZERO
 	},
+	/* class_tid: 1, , table: l2_cntxt_tcam.ingress_entry_dup */
+	{
+	.description = "l2ip_dest_data",
+	.field_bit_size = 17,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_dest_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_rfs_data",
+	.field_bit_size = 9,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_rfs_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_act_rec_ptr",
+	.field_bit_size = 26,
+	.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 = "l2ip_act_scope",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+	.field_opr1 = {
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+		(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+		BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+	},
+	{
+	.description = "l2ip_act_hint",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_act_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "l2ip_meta",
+	.field_bit_size = 35,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_meta_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ctxt_opcode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW}
+	},
+	{
+	.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}
+	},
+	{
+	.description = "prsv_prof_func_id",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_cntxt_id",
+	.field_bit_size = 11,
+	.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 = "prsv_l2ip_cntxt_id",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "parif",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "prsv_parif",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
 	/* class_tid: 1, , table: mac_addr_cache.l2_table_wr */
 	{
 	.description = "rid",
@@ -49117,6 +56198,7 @@ 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_ZERO
 	},
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */
 	/* class_tid: 1, , table: fkb_select.wc_gen_template */
 	{
 	.description = "l2_cntxt_id.en",
@@ -49124,8 +56206,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(146 >> 8) & 0xff,
-		146 & 0xff,
+		(179 >> 8) & 0xff,
+		179 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49169,8 +56251,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(148 >> 8) & 0xff,
-		148 & 0xff,
+		(181 >> 8) & 0xff,
+		181 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49184,8 +56266,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(150 >> 8) & 0xff,
-		150 & 0xff,
+		(183 >> 8) & 0xff,
+		183 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49199,8 +56281,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(152 >> 8) & 0xff,
-		152 & 0xff,
+		(185 >> 8) & 0xff,
+		185 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49556,8 +56638,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(153 >> 8) & 0xff,
-		153 & 0xff,
+		(186 >> 8) & 0xff,
+		186 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49571,8 +56653,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(157 >> 8) & 0xff,
-		157 & 0xff,
+		(190 >> 8) & 0xff,
+		190 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49616,8 +56698,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(161 >> 8) & 0xff,
-		161 & 0xff,
+		(194 >> 8) & 0xff,
+		194 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49649,8 +56731,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(166 >> 8) & 0xff,
-		166 & 0xff,
+		(199 >> 8) & 0xff,
+		199 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49673,8 +56755,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(176 >> 8) & 0xff,
-		176 & 0xff,
+		(209 >> 8) & 0xff,
+		209 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49694,8 +56776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(181 >> 8) & 0xff,
-		181 & 0xff,
+		(214 >> 8) & 0xff,
+		214 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49709,8 +56791,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(186 >> 8) & 0xff,
-		186 & 0xff,
+		(219 >> 8) & 0xff,
+		219 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49724,8 +56806,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(191 >> 8) & 0xff,
-		191 & 0xff,
+		(224 >> 8) & 0xff,
+		224 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49739,8 +56821,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(196 >> 8) & 0xff,
-		196 & 0xff,
+		(229 >> 8) & 0xff,
+		229 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
@@ -49758,8 +56840,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(205 >> 8) & 0xff,
-		205 & 0xff,
+		(238 >> 8) & 0xff,
+		238 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49773,8 +56855,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(209 >> 8) & 0xff,
-		209 & 0xff,
+		(242 >> 8) & 0xff,
+		242 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49788,8 +56870,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(213 >> 8) & 0xff,
-		213 & 0xff,
+		(246 >> 8) & 0xff,
+		246 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49803,8 +56885,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(217 >> 8) & 0xff,
-		217 & 0xff,
+		(250 >> 8) & 0xff,
+		250 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49821,8 +56903,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(225 >> 8) & 0xff,
-		225 & 0xff,
+		(258 >> 8) & 0xff,
+		258 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49839,8 +56921,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(233 >> 8) & 0xff,
-		233 & 0xff,
+		(266 >> 8) & 0xff,
+		266 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49863,8 +56945,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(241 >> 8) & 0xff,
-		241 & 0xff,
+		(274 >> 8) & 0xff,
+		274 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49947,8 +57029,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_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,
+		(282 >> 8) & 0xff,
+		282 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -49965,8 +57047,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(257 >> 8) & 0xff,
-		257 & 0xff,
+		(290 >> 8) & 0xff,
+		290 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50031,8 +57113,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(266 >> 8) & 0xff,
-		266 & 0xff,
+		(299 >> 8) & 0xff,
+		299 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50046,8 +57128,20 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	{
 	.description = "tid.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 = {
+		(305 >> 8) & 0xff,
+		305 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(20 >> 8) & 0xff,
+	20 & 0xff}
 	},
 	{
 	.description = "tctxts.en",
@@ -50085,8 +57179,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(272 >> 8) & 0xff,
-		272 & 0xff,
+		(309 >> 8) & 0xff,
+		309 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50094,8 +57188,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(20 >> 8) & 0xff,
-	20 & 0xff}
+	(21 >> 8) & 0xff,
+	21 & 0xff}
 	},
 	{
 	.description = "l2_smac.en",
@@ -50103,8 +57197,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(279 >> 8) & 0xff,
-		279 & 0xff,
+		(316 >> 8) & 0xff,
+		316 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50112,8 +57206,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(21 >> 8) & 0xff,
-	21 & 0xff}
+	(22 >> 8) & 0xff,
+	22 & 0xff}
 	},
 	{
 	.description = "l2_dt.en",
@@ -50151,8 +57245,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(286 >> 8) & 0xff,
-		286 & 0xff,
+		(323 >> 8) & 0xff,
+		323 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50160,8 +57254,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(22 >> 8) & 0xff,
-	22 & 0xff}
+	(23 >> 8) & 0xff,
+	23 & 0xff}
 	},
 	{
 	.description = "l2_ovt.en",
@@ -50187,8 +57281,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(295 >> 8) & 0xff,
-		295 & 0xff,
+		(332 >> 8) & 0xff,
+		332 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50196,8 +57290,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(23 >> 8) & 0xff,
-	23 & 0xff}
+	(24 >> 8) & 0xff,
+	24 & 0xff}
 	},
 	{
 	.description = "l2_ivt.en",
@@ -50211,8 +57305,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(313 >> 8) & 0xff,
-		313 & 0xff,
+		(350 >> 8) & 0xff,
+		350 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50220,8 +57314,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(26 >> 8) & 0xff,
-	26 & 0xff}
+	(27 >> 8) & 0xff,
+	27 & 0xff}
 	},
 	{
 	.description = "l3_l3type.en",
@@ -50235,8 +57329,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(322 >> 8) & 0xff,
-		322 & 0xff,
+		(359 >> 8) & 0xff,
+		359 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50244,8 +57338,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(27 >> 8) & 0xff,
-	27 & 0xff}
+	(28 >> 8) & 0xff,
+	28 & 0xff}
 	},
 	{
 	.description = "l3_sip2.en",
@@ -50253,8 +57347,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(331 >> 8) & 0xff,
-		331 & 0xff,
+		(368 >> 8) & 0xff,
+		368 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50262,8 +57356,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(28 >> 8) & 0xff,
-	28 & 0xff}
+	(29 >> 8) & 0xff,
+	29 & 0xff}
 	},
 	{
 	.description = "l3_sip1.en",
@@ -50271,8 +57365,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(340 >> 8) & 0xff,
-		340 & 0xff,
+		(377 >> 8) & 0xff,
+		377 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50280,8 +57374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(29 >> 8) & 0xff,
-	29 & 0xff}
+	(30 >> 8) & 0xff,
+	30 & 0xff}
 	},
 	{
 	.description = "l3_sip0.en",
@@ -50289,8 +57383,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(349 >> 8) & 0xff,
-		349 & 0xff,
+		(386 >> 8) & 0xff,
+		386 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50298,8 +57392,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(30 >> 8) & 0xff,
-	30 & 0xff}
+	(31 >> 8) & 0xff,
+	31 & 0xff}
 	},
 	{
 	.description = "l3_dip3.en",
@@ -50307,8 +57401,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(367 >> 8) & 0xff,
-		367 & 0xff,
+		(404 >> 8) & 0xff,
+		404 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50316,8 +57410,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(33 >> 8) & 0xff,
-	33 & 0xff}
+	(34 >> 8) & 0xff,
+	34 & 0xff}
 	},
 	{
 	.description = "l3_dip2.en",
@@ -50325,8 +57419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(376 >> 8) & 0xff,
-		376 & 0xff,
+		(413 >> 8) & 0xff,
+		413 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50334,8 +57428,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(34 >> 8) & 0xff,
-	34 & 0xff}
+	(35 >> 8) & 0xff,
+	35 & 0xff}
 	},
 	{
 	.description = "l3_dip1.en",
@@ -50343,8 +57437,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(385 >> 8) & 0xff,
-		385 & 0xff,
+		(422 >> 8) & 0xff,
+		422 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50352,8 +57446,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(35 >> 8) & 0xff,
-	35 & 0xff}
+	(36 >> 8) & 0xff,
+	36 & 0xff}
 	},
 	{
 	.description = "l3_dip0.en",
@@ -50361,8 +57455,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(394 >> 8) & 0xff,
-		394 & 0xff,
+		(431 >> 8) & 0xff,
+		431 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50370,8 +57464,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(36 >> 8) & 0xff,
-	36 & 0xff}
+	(37 >> 8) & 0xff,
+	37 & 0xff}
 	},
 	{
 	.description = "l3_ttl.en",
@@ -50379,8 +57473,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(412 >> 8) & 0xff,
-		412 & 0xff,
+		(449 >> 8) & 0xff,
+		449 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50388,8 +57482,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(39 >> 8) & 0xff,
-	39 & 0xff}
+	(40 >> 8) & 0xff,
+	40 & 0xff}
 	},
 	{
 	.description = "l3_prot.en",
@@ -50397,8 +57491,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(430 >> 8) & 0xff,
-		430 & 0xff,
+		(467 >> 8) & 0xff,
+		467 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50406,8 +57500,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(42 >> 8) & 0xff,
-	42 & 0xff}
+	(43 >> 8) & 0xff,
+	43 & 0xff}
 	},
 	{
 	.description = "l3_fid.en",
@@ -50421,8 +57515,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(462 >> 8) & 0xff,
-		462 & 0xff,
+		(499 >> 8) & 0xff,
+		499 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -50430,8 +57524,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(49 >> 8) & 0xff,
-	49 & 0xff}
+	(50 >> 8) & 0xff,
+	50 & 0xff}
 	},
 	{
 	.description = "l3_ieh_nonext.en",
@@ -50505,18 +57599,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(480 >> 8) & 0xff,
-		480 & 0xff,
+		(517 >> 8) & 0xff,
+		517 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(52 >> 8) & 0xff,
-	52 & 0xff},
+	(53 >> 8) & 0xff,
+	53 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(53 >> 8) & 0xff,
-	53 & 0xff}
+	(54 >> 8) & 0xff,
+	54 & 0xff}
 	},
 	{
 	.description = "l4_dst.en",
@@ -50524,18 +57618,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(489 >> 8) & 0xff,
-		489 & 0xff,
+		(526 >> 8) & 0xff,
+		526 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(55 >> 8) & 0xff,
-	55 & 0xff},
+	(56 >> 8) & 0xff,
+	56 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(56 >> 8) & 0xff,
-	56 & 0xff}
+	(57 >> 8) & 0xff,
+	57 & 0xff}
 	},
 	{
 	.description = "l4_flags.en",
@@ -51664,6 +58758,7 @@ 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_ZERO
 	},
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */
 	/* class_tid: 1, , table: profile_tcam.gen_template */
 	{
 	.description = "wc_scope",
@@ -51832,8 +58927,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1301 >> 8) & 0xff,
-		1301 & 0xff,
+		(1403 >> 8) & 0xff,
+		1403 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51877,8 +58972,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(1303 >> 8) & 0xff,
-		1303 & 0xff,
+		(1405 >> 8) & 0xff,
+		1405 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51892,8 +58987,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(1305 >> 8) & 0xff,
-		1305 & 0xff,
+		(1407 >> 8) & 0xff,
+		1407 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -51907,8 +59002,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1307 >> 8) & 0xff,
-		1307 & 0xff,
+		(1409 >> 8) & 0xff,
+		1409 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52264,8 +59359,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1308 >> 8) & 0xff,
-		1308 & 0xff,
+		(1410 >> 8) & 0xff,
+		1410 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52279,8 +59374,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1313 >> 8) & 0xff,
-		1313 & 0xff,
+		(1415 >> 8) & 0xff,
+		1415 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52324,8 +59419,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1317 >> 8) & 0xff,
-		1317 & 0xff,
+		(1419 >> 8) & 0xff,
+		1419 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52357,8 +59452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1322 >> 8) & 0xff,
-		1322 & 0xff,
+		(1424 >> 8) & 0xff,
+		1424 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52366,8 +59461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(227 >> 8) & 0xff,
-	227 & 0xff}
+	(255 >> 8) & 0xff,
+	255 & 0xff}
 	},
 	{
 	.description = "tl2_ivt.en",
@@ -52381,8 +59476,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1332 >> 8) & 0xff,
-		1332 & 0xff,
+		(1434 >> 8) & 0xff,
+		1434 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52402,8 +59497,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1337 >> 8) & 0xff,
-		1337 & 0xff,
+		(1439 >> 8) & 0xff,
+		1439 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52417,8 +59512,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1341 >> 8) & 0xff,
-		1341 & 0xff,
+		(1443 >> 8) & 0xff,
+		1443 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52432,8 +59527,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1345 >> 8) & 0xff,
-		1345 & 0xff,
+		(1447 >> 8) & 0xff,
+		1447 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52447,8 +59542,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1349 >> 8) & 0xff,
-		1349 & 0xff,
+		(1451 >> 8) & 0xff,
+		1451 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52456,8 +59551,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(228 >> 8) & 0xff,
-	228 & 0xff}
+	(256 >> 8) & 0xff,
+	256 & 0xff}
 	},
 	{
 	.description = "tl3_dip3.en",
@@ -52465,8 +59560,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1357 >> 8) & 0xff,
-		1357 & 0xff,
+		(1459 >> 8) & 0xff,
+		1459 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52480,8 +59575,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1361 >> 8) & 0xff,
-		1361 & 0xff,
+		(1463 >> 8) & 0xff,
+		1463 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52495,8 +59590,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1365 >> 8) & 0xff,
-		1365 & 0xff,
+		(1467 >> 8) & 0xff,
+		1467 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52510,8 +59605,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1369 >> 8) & 0xff,
-		1369 & 0xff,
+		(1471 >> 8) & 0xff,
+		1471 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52519,8 +59614,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(229 >> 8) & 0xff,
-	229 & 0xff}
+	(257 >> 8) & 0xff,
+	257 & 0xff}
 	},
 	{
 	.description = "tl3_ttl.en",
@@ -52528,8 +59623,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1377 >> 8) & 0xff,
-		1377 & 0xff,
+		(1479 >> 8) & 0xff,
+		1479 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52537,8 +59632,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(230 >> 8) & 0xff,
-	230 & 0xff}
+	(258 >> 8) & 0xff,
+	258 & 0xff}
 	},
 	{
 	.description = "tl3_prot.en",
@@ -52546,8 +59641,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1385 >> 8) & 0xff,
-		1385 & 0xff,
+		(1487 >> 8) & 0xff,
+		1487 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52555,8 +59650,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(231 >> 8) & 0xff,
-	231 & 0xff}
+	(259 >> 8) & 0xff,
+	259 & 0xff}
 	},
 	{
 	.description = "tl3_fid.en",
@@ -52570,8 +59665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1393 >> 8) & 0xff,
-		1393 & 0xff,
+		(1495 >> 8) & 0xff,
+		1495 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52579,8 +59674,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(232 >> 8) & 0xff,
-	232 & 0xff}
+	(260 >> 8) & 0xff,
+	260 & 0xff}
 	},
 	{
 	.description = "tl3_ieh_nonext.en",
@@ -52654,8 +59749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1401 >> 8) & 0xff,
-		1401 & 0xff,
+		(1503 >> 8) & 0xff,
+		1503 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52663,8 +59758,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(233 >> 8) & 0xff,
-	233 & 0xff}
+	(261 >> 8) & 0xff,
+	261 & 0xff}
 	},
 	{
 	.description = "tl4_dst.en",
@@ -52672,8 +59767,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_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,
+		(1511 >> 8) & 0xff,
+		1511 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52681,8 +59776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(234 >> 8) & 0xff,
-	234 & 0xff}
+	(262 >> 8) & 0xff,
+	262 & 0xff}
 	},
 	{
 	.description = "tl4_flags.en",
@@ -52738,8 +59833,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1418 >> 8) & 0xff,
-		1418 & 0xff,
+		(1520 >> 8) & 0xff,
+		1520 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52747,14 +59842,26 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(235 >> 8) & 0xff,
-	235 & 0xff}
+	(263 >> 8) & 0xff,
+	263 & 0xff}
 	},
 	{
 	.description = "tid.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 = {
+		(1526 >> 8) & 0xff,
+		1526 & 0xff,
+		(1 >> 8) & 0xff,
+		1 & 0xff},
+	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr2 = {
+	1},
+	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
+	.field_opr3 = {
+	(264 >> 8) & 0xff,
+	264 & 0xff}
 	},
 	{
 	.description = "tctxts.en",
@@ -52792,8 +59899,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1424 >> 8) & 0xff,
-		1424 & 0xff,
+		(1530 >> 8) & 0xff,
+		1530 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52801,8 +59908,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(236 >> 8) & 0xff,
-	236 & 0xff}
+	(265 >> 8) & 0xff,
+	265 & 0xff}
 	},
 	{
 	.description = "l2_smac.en",
@@ -52810,8 +59917,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1433 >> 8) & 0xff,
-		1433 & 0xff,
+		(1539 >> 8) & 0xff,
+		1539 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52819,8 +59926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(237 >> 8) & 0xff,
-	237 & 0xff}
+	(266 >> 8) & 0xff,
+	266 & 0xff}
 	},
 	{
 	.description = "l2_dt.en",
@@ -52858,8 +59965,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1440 >> 8) & 0xff,
-		1440 & 0xff,
+		(1546 >> 8) & 0xff,
+		1546 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52867,8 +59974,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(238 >> 8) & 0xff,
-	238 & 0xff}
+	(267 >> 8) & 0xff,
+	267 & 0xff}
 	},
 	{
 	.description = "l2_ovt.en",
@@ -52894,8 +60001,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1449 >> 8) & 0xff,
-		1449 & 0xff,
+		(1555 >> 8) & 0xff,
+		1555 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52903,8 +60010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(239 >> 8) & 0xff,
-	239 & 0xff}
+	(268 >> 8) & 0xff,
+	268 & 0xff}
 	},
 	{
 	.description = "l2_ivt.en",
@@ -52918,8 +60025,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1467 >> 8) & 0xff,
-		1467 & 0xff,
+		(1573 >> 8) & 0xff,
+		1573 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52927,8 +60034,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(242 >> 8) & 0xff,
-	242 & 0xff}
+	(271 >> 8) & 0xff,
+	271 & 0xff}
 	},
 	{
 	.description = "l3_l3type.en",
@@ -52942,8 +60049,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1476 >> 8) & 0xff,
-		1476 & 0xff,
+		(1582 >> 8) & 0xff,
+		1582 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52951,8 +60058,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(243 >> 8) & 0xff,
-	243 & 0xff}
+	(272 >> 8) & 0xff,
+	272 & 0xff}
 	},
 	{
 	.description = "l3_sip2.en",
@@ -52960,8 +60067,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1483 >> 8) & 0xff,
-		1483 & 0xff,
+		(1589 >> 8) & 0xff,
+		1589 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52969,8 +60076,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(244 >> 8) & 0xff,
-	244 & 0xff}
+	(273 >> 8) & 0xff,
+	273 & 0xff}
 	},
 	{
 	.description = "l3_sip1.en",
@@ -52978,8 +60085,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1490 >> 8) & 0xff,
-		1490 & 0xff,
+		(1596 >> 8) & 0xff,
+		1596 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -52987,8 +60094,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(245 >> 8) & 0xff,
-	245 & 0xff}
+	(274 >> 8) & 0xff,
+	274 & 0xff}
 	},
 	{
 	.description = "l3_sip0.en",
@@ -52996,8 +60103,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1497 >> 8) & 0xff,
-		1497 & 0xff,
+		(1603 >> 8) & 0xff,
+		1603 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53005,8 +60112,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(246 >> 8) & 0xff,
-	246 & 0xff}
+	(275 >> 8) & 0xff,
+	275 & 0xff}
 	},
 	{
 	.description = "l3_dip3.en",
@@ -53014,8 +60121,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1511 >> 8) & 0xff,
-		1511 & 0xff,
+		(1617 >> 8) & 0xff,
+		1617 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53023,8 +60130,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(249 >> 8) & 0xff,
-	249 & 0xff}
+	(278 >> 8) & 0xff,
+	278 & 0xff}
 	},
 	{
 	.description = "l3_dip2.en",
@@ -53032,8 +60139,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1518 >> 8) & 0xff,
-		1518 & 0xff,
+		(1624 >> 8) & 0xff,
+		1624 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53041,8 +60148,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(250 >> 8) & 0xff,
-	250 & 0xff}
+	(279 >> 8) & 0xff,
+	279 & 0xff}
 	},
 	{
 	.description = "l3_dip1.en",
@@ -53050,8 +60157,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1525 >> 8) & 0xff,
-		1525 & 0xff,
+		(1631 >> 8) & 0xff,
+		1631 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53059,8 +60166,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(251 >> 8) & 0xff,
-	251 & 0xff}
+	(280 >> 8) & 0xff,
+	280 & 0xff}
 	},
 	{
 	.description = "l3_dip0.en",
@@ -53068,8 +60175,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1532 >> 8) & 0xff,
-		1532 & 0xff,
+		(1638 >> 8) & 0xff,
+		1638 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53077,8 +60184,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(252 >> 8) & 0xff,
-	252 & 0xff}
+	(281 >> 8) & 0xff,
+	281 & 0xff}
 	},
 	{
 	.description = "l3_ttl.en",
@@ -53086,8 +60193,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1546 >> 8) & 0xff,
-		1546 & 0xff,
+		(1652 >> 8) & 0xff,
+		1652 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53095,8 +60202,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(255 >> 8) & 0xff,
-	255 & 0xff}
+	(284 >> 8) & 0xff,
+	284 & 0xff}
 	},
 	{
 	.description = "l3_prot.en",
@@ -53104,8 +60211,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1560 >> 8) & 0xff,
-		1560 & 0xff,
+		(1666 >> 8) & 0xff,
+		1666 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53113,8 +60220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(258 >> 8) & 0xff,
-	258 & 0xff}
+	(287 >> 8) & 0xff,
+	287 & 0xff}
 	},
 	{
 	.description = "l3_fid.en",
@@ -53128,8 +60235,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1574 >> 8) & 0xff,
-		1574 & 0xff,
+		(1680 >> 8) & 0xff,
+		1680 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53137,8 +60244,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(261 >> 8) & 0xff,
-	261 & 0xff}
+	(290 >> 8) & 0xff,
+	290 & 0xff}
 	},
 	{
 	.description = "l3_ieh_nonext.en",
@@ -53212,8 +60319,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1588 >> 8) & 0xff,
-		1588 & 0xff,
+		(1694 >> 8) & 0xff,
+		1694 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53221,8 +60328,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(264 >> 8) & 0xff,
-	264 & 0xff}
+	(293 >> 8) & 0xff,
+	293 & 0xff}
 	},
 	{
 	.description = "l4_dst.en",
@@ -53230,8 +60337,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(1602 >> 8) & 0xff,
-		1602 & 0xff,
+		(1708 >> 8) & 0xff,
+		1708 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53239,8 +60346,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(267 >> 8) & 0xff,
-	267 & 0xff}
+	(296 >> 8) & 0xff,
+	296 & 0xff}
 	},
 	{
 	.description = "l4_flags.en",
@@ -53657,7 +60764,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.description = "meta_prof",
 	.field_bit_size = 3,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+	.field_opr1 = {
+	(BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0 >> 8) & 0xff,
+	BNXT_ULP_GLB_RF_IDX_GLB_METADATA_RX_LKUP_0 & 0xff}
 	},
 	{
 	.description = "prof_func",
@@ -53734,6 +60844,37 @@ 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_ZERO
 	},
+	/* class_tid: 1, , table: hot_upgrade_tcam_cache.wr */
+	{
+	.description = "rid",
+	.field_bit_size = 32,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "tcam_id",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0 & 0xff}
+	},
+	{
+	.description = "priority",
+	.field_bit_size = 16,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_RF,
+	.field_opr1 = {
+	(BNXT_ULP_RF_IDX_APP_PRIO >> 8) & 0xff,
+	BNXT_ULP_RF_IDX_APP_PRIO & 0xff}
+	},
+	{
+	.description = "track_type",
+	.field_bit_size = 4,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
 	/* class_tid: 2, , table: jump_index_table.multi_flow_alloc */
 	/* class_tid: 2, , table: multi_flow_tunnel_cache.wr */
 	{
@@ -53781,8 +60922,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2222 >> 8) & 0xff,
-		2222 & 0xff,
+		(2343 >> 8) & 0xff,
+		2343 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53826,8 +60967,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(2224 >> 8) & 0xff,
-		2224 & 0xff,
+		(2345 >> 8) & 0xff,
+		2345 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53841,8 +60982,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(2226 >> 8) & 0xff,
-		2226 & 0xff,
+		(2347 >> 8) & 0xff,
+		2347 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -53856,8 +60997,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2228 >> 8) & 0xff,
-		2228 & 0xff,
+		(2349 >> 8) & 0xff,
+		2349 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54213,8 +61354,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2229 >> 8) & 0xff,
-		2229 & 0xff,
+		(2350 >> 8) & 0xff,
+		2350 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54228,14 +61369,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2233 >> 8) & 0xff,
-		2233 & 0xff,
+		(2354 >> 8) & 0xff,
+		2354 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(340 >> 8) & 0xff,
-	340 & 0xff},
+	(371 >> 8) & 0xff,
+	371 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
 	},
 	{
@@ -54274,8 +61415,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2240 >> 8) & 0xff,
-		2240 & 0xff,
+		(2361 >> 8) & 0xff,
+		2361 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54307,8 +61448,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2245 >> 8) & 0xff,
-		2245 & 0xff,
+		(2366 >> 8) & 0xff,
+		2366 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54316,8 +61457,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(341 >> 8) & 0xff,
-	341 & 0xff}
+	(372 >> 8) & 0xff,
+	372 & 0xff}
 	},
 	{
 	.description = "tl2_ivt.en",
@@ -54331,8 +61472,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2255 >> 8) & 0xff,
-		2255 & 0xff,
+		(2376 >> 8) & 0xff,
+		2376 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54352,8 +61493,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2260 >> 8) & 0xff,
-		2260 & 0xff,
+		(2381 >> 8) & 0xff,
+		2381 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54367,8 +61508,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2265 >> 8) & 0xff,
-		2265 & 0xff,
+		(2386 >> 8) & 0xff,
+		2386 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54382,8 +61523,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2270 >> 8) & 0xff,
-		2270 & 0xff,
+		(2391 >> 8) & 0xff,
+		2391 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54397,18 +61538,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2275 >> 8) & 0xff,
-		2275 & 0xff,
+		(2396 >> 8) & 0xff,
+		2396 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(342 >> 8) & 0xff,
-	342 & 0xff},
+	(373 >> 8) & 0xff,
+	373 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(343 >> 8) & 0xff,
-	343 & 0xff}
+	(374 >> 8) & 0xff,
+	374 & 0xff}
 	},
 	{
 	.description = "tl3_dip3.en",
@@ -54416,8 +61557,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2284 >> 8) & 0xff,
-		2284 & 0xff,
+		(2405 >> 8) & 0xff,
+		2405 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54431,8 +61572,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2288 >> 8) & 0xff,
-		2288 & 0xff,
+		(2409 >> 8) & 0xff,
+		2409 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54446,8 +61587,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2292 >> 8) & 0xff,
-		2292 & 0xff,
+		(2413 >> 8) & 0xff,
+		2413 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54461,8 +61602,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2296 >> 8) & 0xff,
-		2296 & 0xff,
+		(2417 >> 8) & 0xff,
+		2417 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54470,8 +61611,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(344 >> 8) & 0xff,
-	344 & 0xff}
+	(375 >> 8) & 0xff,
+	375 & 0xff}
 	},
 	{
 	.description = "tl3_ttl.en",
@@ -54479,8 +61620,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2304 >> 8) & 0xff,
-		2304 & 0xff,
+		(2425 >> 8) & 0xff,
+		2425 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54488,8 +61629,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(345 >> 8) & 0xff,
-	345 & 0xff}
+	(376 >> 8) & 0xff,
+	376 & 0xff}
 	},
 	{
 	.description = "tl3_prot.en",
@@ -54497,8 +61638,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2312 >> 8) & 0xff,
-		2312 & 0xff,
+		(2433 >> 8) & 0xff,
+		2433 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54506,8 +61647,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(346 >> 8) & 0xff,
-	346 & 0xff}
+	(377 >> 8) & 0xff,
+	377 & 0xff}
 	},
 	{
 	.description = "tl3_fid.en",
@@ -54521,8 +61662,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2320 >> 8) & 0xff,
-		2320 & 0xff,
+		(2441 >> 8) & 0xff,
+		2441 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54530,8 +61671,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(347 >> 8) & 0xff,
-	347 & 0xff}
+	(378 >> 8) & 0xff,
+	378 & 0xff}
 	},
 	{
 	.description = "tl3_ieh_nonext.en",
@@ -54605,8 +61746,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2328 >> 8) & 0xff,
-		2328 & 0xff,
+		(2449 >> 8) & 0xff,
+		2449 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54614,8 +61755,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(348 >> 8) & 0xff,
-	348 & 0xff}
+	(379 >> 8) & 0xff,
+	379 & 0xff}
 	},
 	{
 	.description = "tl4_dst.en",
@@ -54623,8 +61764,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2336 >> 8) & 0xff,
-		2336 & 0xff,
+		(2457 >> 8) & 0xff,
+		2457 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54632,8 +61773,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(349 >> 8) & 0xff,
-	349 & 0xff}
+	(380 >> 8) & 0xff,
+	380 & 0xff}
 	},
 	{
 	.description = "tl4_flags.en",
@@ -54689,8 +61830,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2345 >> 8) & 0xff,
-		2345 & 0xff,
+		(2466 >> 8) & 0xff,
+		2466 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54698,8 +61839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(350 >> 8) & 0xff,
-	350 & 0xff}
+	(381 >> 8) & 0xff,
+	381 & 0xff}
 	},
 	{
 	.description = "tid.en",
@@ -54743,8 +61884,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2351 >> 8) & 0xff,
-		2351 & 0xff,
+		(2472 >> 8) & 0xff,
+		2472 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54752,8 +61893,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(351 >> 8) & 0xff,
-	351 & 0xff}
+	(382 >> 8) & 0xff,
+	382 & 0xff}
 	},
 	{
 	.description = "l2_smac.en",
@@ -54761,8 +61902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2358 >> 8) & 0xff,
-		2358 & 0xff,
+		(2479 >> 8) & 0xff,
+		2479 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54770,8 +61911,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(352 >> 8) & 0xff,
-	352 & 0xff}
+	(383 >> 8) & 0xff,
+	383 & 0xff}
 	},
 	{
 	.description = "l2_dt.en",
@@ -54809,8 +61950,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2365 >> 8) & 0xff,
-		2365 & 0xff,
+		(2486 >> 8) & 0xff,
+		2486 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54818,8 +61959,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(353 >> 8) & 0xff,
-	353 & 0xff}
+	(384 >> 8) & 0xff,
+	384 & 0xff}
 	},
 	{
 	.description = "l2_ovt.en",
@@ -54845,8 +61986,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2374 >> 8) & 0xff,
-		2374 & 0xff,
+		(2495 >> 8) & 0xff,
+		2495 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54854,8 +61995,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(354 >> 8) & 0xff,
-	354 & 0xff}
+	(385 >> 8) & 0xff,
+	385 & 0xff}
 	},
 	{
 	.description = "l2_ivt.en",
@@ -54869,8 +62010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2392 >> 8) & 0xff,
-		2392 & 0xff,
+		(2513 >> 8) & 0xff,
+		2513 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54878,8 +62019,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(357 >> 8) & 0xff,
-	357 & 0xff}
+	(388 >> 8) & 0xff,
+	388 & 0xff}
 	},
 	{
 	.description = "l3_l3type.en",
@@ -54893,8 +62034,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2401 >> 8) & 0xff,
-		2401 & 0xff,
+		(2522 >> 8) & 0xff,
+		2522 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54902,8 +62043,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(358 >> 8) & 0xff,
-	358 & 0xff}
+	(389 >> 8) & 0xff,
+	389 & 0xff}
 	},
 	{
 	.description = "l3_sip2.en",
@@ -54911,8 +62052,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2410 >> 8) & 0xff,
-		2410 & 0xff,
+		(2531 >> 8) & 0xff,
+		2531 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54920,8 +62061,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(359 >> 8) & 0xff,
-	359 & 0xff}
+	(390 >> 8) & 0xff,
+	390 & 0xff}
 	},
 	{
 	.description = "l3_sip1.en",
@@ -54929,8 +62070,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2419 >> 8) & 0xff,
-		2419 & 0xff,
+		(2540 >> 8) & 0xff,
+		2540 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54938,8 +62079,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(360 >> 8) & 0xff,
-	360 & 0xff}
+	(391 >> 8) & 0xff,
+	391 & 0xff}
 	},
 	{
 	.description = "l3_sip0.en",
@@ -54947,8 +62088,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2428 >> 8) & 0xff,
-		2428 & 0xff,
+		(2549 >> 8) & 0xff,
+		2549 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54956,8 +62097,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(361 >> 8) & 0xff,
-	361 & 0xff}
+	(392 >> 8) & 0xff,
+	392 & 0xff}
 	},
 	{
 	.description = "l3_dip3.en",
@@ -54965,8 +62106,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2446 >> 8) & 0xff,
-		2446 & 0xff,
+		(2567 >> 8) & 0xff,
+		2567 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54974,8 +62115,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(364 >> 8) & 0xff,
-	364 & 0xff}
+	(395 >> 8) & 0xff,
+	395 & 0xff}
 	},
 	{
 	.description = "l3_dip2.en",
@@ -54983,8 +62124,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2455 >> 8) & 0xff,
-		2455 & 0xff,
+		(2576 >> 8) & 0xff,
+		2576 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -54992,8 +62133,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(365 >> 8) & 0xff,
-	365 & 0xff}
+	(396 >> 8) & 0xff,
+	396 & 0xff}
 	},
 	{
 	.description = "l3_dip1.en",
@@ -55001,8 +62142,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2464 >> 8) & 0xff,
-		2464 & 0xff,
+		(2585 >> 8) & 0xff,
+		2585 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -55010,8 +62151,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(366 >> 8) & 0xff,
-	366 & 0xff}
+	(397 >> 8) & 0xff,
+	397 & 0xff}
 	},
 	{
 	.description = "l3_dip0.en",
@@ -55019,8 +62160,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2473 >> 8) & 0xff,
-		2473 & 0xff,
+		(2594 >> 8) & 0xff,
+		2594 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -55028,8 +62169,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(367 >> 8) & 0xff,
-	367 & 0xff}
+	(398 >> 8) & 0xff,
+	398 & 0xff}
 	},
 	{
 	.description = "l3_ttl.en",
@@ -55037,8 +62178,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2491 >> 8) & 0xff,
-		2491 & 0xff,
+		(2612 >> 8) & 0xff,
+		2612 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -55046,8 +62187,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(370 >> 8) & 0xff,
-	370 & 0xff}
+	(401 >> 8) & 0xff,
+	401 & 0xff}
 	},
 	{
 	.description = "l3_prot.en",
@@ -55055,8 +62196,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2509 >> 8) & 0xff,
-		2509 & 0xff,
+		(2630 >> 8) & 0xff,
+		2630 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -55064,8 +62205,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(373 >> 8) & 0xff,
-	373 & 0xff}
+	(404 >> 8) & 0xff,
+	404 & 0xff}
 	},
 	{
 	.description = "l3_fid.en",
@@ -55079,8 +62220,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2541 >> 8) & 0xff,
-		2541 & 0xff,
+		(2662 >> 8) & 0xff,
+		2662 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -55088,8 +62229,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(380 >> 8) & 0xff,
-	380 & 0xff}
+	(411 >> 8) & 0xff,
+	411 & 0xff}
 	},
 	{
 	.description = "l3_ieh_nonext.en",
@@ -55163,18 +62304,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2559 >> 8) & 0xff,
-		2559 & 0xff,
+		(2680 >> 8) & 0xff,
+		2680 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(383 >> 8) & 0xff,
-	383 & 0xff},
+	(414 >> 8) & 0xff,
+	414 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(384 >> 8) & 0xff,
-	384 & 0xff}
+	(415 >> 8) & 0xff,
+	415 & 0xff}
 	},
 	{
 	.description = "l4_dst.en",
@@ -55182,18 +62323,18 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(2568 >> 8) & 0xff,
-		2568 & 0xff,
+		(2689 >> 8) & 0xff,
+		2689 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr2 = {
-	(386 >> 8) & 0xff,
-	386 & 0xff},
+	(417 >> 8) & 0xff,
+	417 & 0xff},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(387 >> 8) & 0xff,
-	387 & 0xff}
+	(418 >> 8) & 0xff,
+	418 & 0xff}
 	},
 	{
 	.description = "l4_flags.en",
@@ -56489,8 +63630,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3384 >> 8) & 0xff,
-		3384 & 0xff,
+		(3505 >> 8) & 0xff,
+		3505 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -56534,8 +63675,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(3386 >> 8) & 0xff,
-		3386 & 0xff,
+		(3507 >> 8) & 0xff,
+		3507 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -56549,8 +63690,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
 	.field_opr1 = {
-		(3388 >> 8) & 0xff,
-		3388 & 0xff,
+		(3509 >> 8) & 0xff,
+		3509 & 0xff,
 		(2 >> 8) & 0xff,
 		2 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -56564,8 +63705,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3390 >> 8) & 0xff,
-		3390 & 0xff,
+		(3511 >> 8) & 0xff,
+		3511 & 0xff,
 		(1 >> 8) & 0xff,
 		1 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -56921,8 +64062,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3391 >> 8) & 0xff,
-		3391 & 0xff,
+		(3512 >> 8) & 0xff,
+		3512 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -56936,8 +64077,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3396 >> 8) & 0xff,
-		3396 & 0xff,
+		(3517 >> 8) & 0xff,
+		3517 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -56981,8 +64122,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3400 >> 8) & 0xff,
-		3400 & 0xff,
+		(3521 >> 8) & 0xff,
+		3521 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57014,8 +64155,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3405 >> 8) & 0xff,
-		3405 & 0xff,
+		(3526 >> 8) & 0xff,
+		3526 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57023,8 +64164,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(559 >> 8) & 0xff,
-	559 & 0xff}
+	(590 >> 8) & 0xff,
+	590 & 0xff}
 	},
 	{
 	.description = "tl2_ivt.en",
@@ -57038,8 +64179,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3415 >> 8) & 0xff,
-		3415 & 0xff,
+		(3536 >> 8) & 0xff,
+		3536 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57059,8 +64200,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3420 >> 8) & 0xff,
-		3420 & 0xff,
+		(3541 >> 8) & 0xff,
+		3541 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57074,8 +64215,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3424 >> 8) & 0xff,
-		3424 & 0xff,
+		(3545 >> 8) & 0xff,
+		3545 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57089,8 +64230,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3428 >> 8) & 0xff,
-		3428 & 0xff,
+		(3549 >> 8) & 0xff,
+		3549 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57104,8 +64245,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3432 >> 8) & 0xff,
-		3432 & 0xff,
+		(3553 >> 8) & 0xff,
+		3553 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57113,8 +64254,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(560 >> 8) & 0xff,
-	560 & 0xff}
+	(591 >> 8) & 0xff,
+	591 & 0xff}
 	},
 	{
 	.description = "tl3_dip3.en",
@@ -57122,8 +64263,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3440 >> 8) & 0xff,
-		3440 & 0xff,
+		(3561 >> 8) & 0xff,
+		3561 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57137,8 +64278,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3444 >> 8) & 0xff,
-		3444 & 0xff,
+		(3565 >> 8) & 0xff,
+		3565 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57152,8 +64293,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3448 >> 8) & 0xff,
-		3448 & 0xff,
+		(3569 >> 8) & 0xff,
+		3569 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57167,8 +64308,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3452 >> 8) & 0xff,
-		3452 & 0xff,
+		(3573 >> 8) & 0xff,
+		3573 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57176,8 +64317,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(561 >> 8) & 0xff,
-	561 & 0xff}
+	(592 >> 8) & 0xff,
+	592 & 0xff}
 	},
 	{
 	.description = "tl3_ttl.en",
@@ -57185,8 +64326,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3460 >> 8) & 0xff,
-		3460 & 0xff,
+		(3581 >> 8) & 0xff,
+		3581 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57194,8 +64335,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(562 >> 8) & 0xff,
-	562 & 0xff}
+	(593 >> 8) & 0xff,
+	593 & 0xff}
 	},
 	{
 	.description = "tl3_prot.en",
@@ -57203,8 +64344,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3468 >> 8) & 0xff,
-		3468 & 0xff,
+		(3589 >> 8) & 0xff,
+		3589 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57212,8 +64353,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(563 >> 8) & 0xff,
-	563 & 0xff}
+	(594 >> 8) & 0xff,
+	594 & 0xff}
 	},
 	{
 	.description = "tl3_fid.en",
@@ -57227,8 +64368,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3476 >> 8) & 0xff,
-		3476 & 0xff,
+		(3597 >> 8) & 0xff,
+		3597 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57236,8 +64377,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(564 >> 8) & 0xff,
-	564 & 0xff}
+	(595 >> 8) & 0xff,
+	595 & 0xff}
 	},
 	{
 	.description = "tl3_ieh_nonext.en",
@@ -57311,8 +64452,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3484 >> 8) & 0xff,
-		3484 & 0xff,
+		(3605 >> 8) & 0xff,
+		3605 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57320,8 +64461,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(565 >> 8) & 0xff,
-	565 & 0xff}
+	(596 >> 8) & 0xff,
+	596 & 0xff}
 	},
 	{
 	.description = "tl4_dst.en",
@@ -57329,8 +64470,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3492 >> 8) & 0xff,
-		3492 & 0xff,
+		(3613 >> 8) & 0xff,
+		3613 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57338,8 +64479,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(566 >> 8) & 0xff,
-	566 & 0xff}
+	(597 >> 8) & 0xff,
+	597 & 0xff}
 	},
 	{
 	.description = "tl4_flags.en",
@@ -57395,8 +64536,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3501 >> 8) & 0xff,
-		3501 & 0xff,
+		(3622 >> 8) & 0xff,
+		3622 & 0xff,
 		(3 >> 8) & 0xff,
 		3 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57404,8 +64545,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(567 >> 8) & 0xff,
-	567 & 0xff}
+	(598 >> 8) & 0xff,
+	598 & 0xff}
 	},
 	{
 	.description = "tid.en",
@@ -57449,8 +64590,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3507 >> 8) & 0xff,
-		3507 & 0xff,
+		(3628 >> 8) & 0xff,
+		3628 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57458,8 +64599,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(568 >> 8) & 0xff,
-	568 & 0xff}
+	(599 >> 8) & 0xff,
+	599 & 0xff}
 	},
 	{
 	.description = "l2_smac.en",
@@ -57467,8 +64608,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3516 >> 8) & 0xff,
-		3516 & 0xff,
+		(3637 >> 8) & 0xff,
+		3637 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57476,8 +64617,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(569 >> 8) & 0xff,
-	569 & 0xff}
+	(600 >> 8) & 0xff,
+	600 & 0xff}
 	},
 	{
 	.description = "l2_dt.en",
@@ -57515,8 +64656,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3523 >> 8) & 0xff,
-		3523 & 0xff,
+		(3644 >> 8) & 0xff,
+		3644 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57524,8 +64665,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(570 >> 8) & 0xff,
-	570 & 0xff}
+	(601 >> 8) & 0xff,
+	601 & 0xff}
 	},
 	{
 	.description = "l2_ovt.en",
@@ -57551,8 +64692,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3532 >> 8) & 0xff,
-		3532 & 0xff,
+		(3653 >> 8) & 0xff,
+		3653 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57560,8 +64701,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(571 >> 8) & 0xff,
-	571 & 0xff}
+	(602 >> 8) & 0xff,
+	602 & 0xff}
 	},
 	{
 	.description = "l2_ivt.en",
@@ -57575,8 +64716,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3550 >> 8) & 0xff,
-		3550 & 0xff,
+		(3671 >> 8) & 0xff,
+		3671 & 0xff,
 		(5 >> 8) & 0xff,
 		5 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57584,8 +64725,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(574 >> 8) & 0xff,
-	574 & 0xff}
+	(605 >> 8) & 0xff,
+	605 & 0xff}
 	},
 	{
 	.description = "l3_l3type.en",
@@ -57599,8 +64740,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3559 >> 8) & 0xff,
-		3559 & 0xff,
+		(3680 >> 8) & 0xff,
+		3680 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57608,8 +64749,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(575 >> 8) & 0xff,
-	575 & 0xff}
+	(606 >> 8) & 0xff,
+	606 & 0xff}
 	},
 	{
 	.description = "l3_sip2.en",
@@ -57617,8 +64758,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3566 >> 8) & 0xff,
-		3566 & 0xff,
+		(3687 >> 8) & 0xff,
+		3687 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57626,8 +64767,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(576 >> 8) & 0xff,
-	576 & 0xff}
+	(607 >> 8) & 0xff,
+	607 & 0xff}
 	},
 	{
 	.description = "l3_sip1.en",
@@ -57635,8 +64776,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3573 >> 8) & 0xff,
-		3573 & 0xff,
+		(3694 >> 8) & 0xff,
+		3694 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57644,8 +64785,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(577 >> 8) & 0xff,
-	577 & 0xff}
+	(608 >> 8) & 0xff,
+	608 & 0xff}
 	},
 	{
 	.description = "l3_sip0.en",
@@ -57653,8 +64794,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3580 >> 8) & 0xff,
-		3580 & 0xff,
+		(3701 >> 8) & 0xff,
+		3701 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57662,8 +64803,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(578 >> 8) & 0xff,
-	578 & 0xff}
+	(609 >> 8) & 0xff,
+	609 & 0xff}
 	},
 	{
 	.description = "l3_dip3.en",
@@ -57671,8 +64812,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3594 >> 8) & 0xff,
-		3594 & 0xff,
+		(3715 >> 8) & 0xff,
+		3715 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57680,8 +64821,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(581 >> 8) & 0xff,
-	581 & 0xff}
+	(612 >> 8) & 0xff,
+	612 & 0xff}
 	},
 	{
 	.description = "l3_dip2.en",
@@ -57689,8 +64830,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3601 >> 8) & 0xff,
-		3601 & 0xff,
+		(3722 >> 8) & 0xff,
+		3722 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57698,8 +64839,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(582 >> 8) & 0xff,
-	582 & 0xff}
+	(613 >> 8) & 0xff,
+	613 & 0xff}
 	},
 	{
 	.description = "l3_dip1.en",
@@ -57707,8 +64848,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3608 >> 8) & 0xff,
-		3608 & 0xff,
+		(3729 >> 8) & 0xff,
+		3729 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57716,8 +64857,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(583 >> 8) & 0xff,
-	583 & 0xff}
+	(614 >> 8) & 0xff,
+	614 & 0xff}
 	},
 	{
 	.description = "l3_dip0.en",
@@ -57725,8 +64866,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3615 >> 8) & 0xff,
-		3615 & 0xff,
+		(3736 >> 8) & 0xff,
+		3736 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57734,8 +64875,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(584 >> 8) & 0xff,
-	584 & 0xff}
+	(615 >> 8) & 0xff,
+	615 & 0xff}
 	},
 	{
 	.description = "l3_ttl.en",
@@ -57743,8 +64884,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3629 >> 8) & 0xff,
-		3629 & 0xff,
+		(3750 >> 8) & 0xff,
+		3750 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57752,8 +64893,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(587 >> 8) & 0xff,
-	587 & 0xff}
+	(618 >> 8) & 0xff,
+	618 & 0xff}
 	},
 	{
 	.description = "l3_prot.en",
@@ -57761,8 +64902,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3643 >> 8) & 0xff,
-		3643 & 0xff,
+		(3764 >> 8) & 0xff,
+		3764 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57770,8 +64911,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(590 >> 8) & 0xff,
-	590 & 0xff}
+	(621 >> 8) & 0xff,
+	621 & 0xff}
 	},
 	{
 	.description = "l3_fid.en",
@@ -57785,8 +64926,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3657 >> 8) & 0xff,
-		3657 & 0xff,
+		(3778 >> 8) & 0xff,
+		3778 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57794,8 +64935,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(593 >> 8) & 0xff,
-	593 & 0xff}
+	(624 >> 8) & 0xff,
+	624 & 0xff}
 	},
 	{
 	.description = "l3_ieh_nonext.en",
@@ -57869,8 +65010,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3671 >> 8) & 0xff,
-		3671 & 0xff,
+		(3792 >> 8) & 0xff,
+		3792 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57878,8 +65019,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(596 >> 8) & 0xff,
-	596 & 0xff}
+	(627 >> 8) & 0xff,
+	627 & 0xff}
 	},
 	{
 	.description = "l4_dst.en",
@@ -57887,8 +65028,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
 	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
 	.field_opr1 = {
-		(3685 >> 8) & 0xff,
-		3685 & 0xff,
+		(3806 >> 8) & 0xff,
+		3806 & 0xff,
 		(4 >> 8) & 0xff,
 		4 & 0xff},
 	.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -57896,8 +65037,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	1},
 	.field_src3 = BNXT_ULP_FIELD_SRC_NEXT,
 	.field_opr3 = {
-	(599 >> 8) & 0xff,
-	599 & 0xff}
+	(630 >> 8) & 0xff,
+	630 & 0xff}
 	},
 	{
 	.description = "l4_flags.en",
@@ -58314,7 +65455,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.description = "meta_prof",
 	.field_bit_size = 3,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	.field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+	.field_opr1 = {
+	(BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0 >> 8) & 0xff,
+	BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_LKUP_0 & 0xff}
 	},
 	{
 	.description = "prof_func",
@@ -58394,6 +65538,7 @@ 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_ZERO
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_rx */
 	/* class_tid: 3, , table: metadata_record.act_rx_wr */
 	{
 	.description = "meta_mask",
@@ -58406,6 +65551,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	(0xffffffff >> 8) & 0xff,
 	0xffffffff & 0xff}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_rx */
 	/* class_tid: 3, , table: metadata_record.prof_rx_wr */
 	{
 	.description = "meta_mask",
@@ -58418,6 +65564,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	(0xffffffff >> 8) & 0xff,
 	0xffffffff & 0xff}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_rx */
 	/* class_tid: 3, , table: metadata_record.lkup_rx_wr */
 	{
 	.description = "meta_mask",
@@ -58430,6 +65577,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	(0xffffffff >> 8) & 0xff,
 	0xffffffff & 0xff}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_act_tx */
 	/* class_tid: 3, , table: metadata_record.act_tx_wr */
 	{
 	.description = "meta_mask",
@@ -58442,6 +65590,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	(0xffffffff >> 8) & 0xff,
 	0xffffffff & 0xff}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_prof_tx */
 	/* class_tid: 3, , table: metadata_record.prof_tx_wr */
 	{
 	.description = "meta_mask",
@@ -58454,6 +65603,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	(0xffffffff >> 8) & 0xff,
 	0xffffffff & 0xff}
 	},
+	/* class_tid: 3, , table: global_idx_app_table.alloc_metadata_rec_lkup_tx */
 	/* class_tid: 3, , table: metadata_record.lkup_tx_wr */
 	{
 	.description = "meta_mask",
@@ -58466,6 +65616,16 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	(0xffffffff >> 8) & 0xff,
 	0xffffffff & 0xff}
 	},
+	/* class_tid: 3, , table: global_regfiles_cache.metadata_record_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}
+	},
 	/* class_tid: 3, , table: cmm_full_act_record.ing_default_0 */
 	{
 	.description = "type",
@@ -58603,9 +65763,21 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	{
 	.description = "vnic_or_vport",
 	.field_bit_size = 11,
-	.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 = {
+		(4332 >> 8) & 0xff,
+		4332 & 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_VNIC >> 8) & 0xff,
+		BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff},
+	.field_src3 = BNXT_ULP_FIELD_SRC_CF,
+	.field_opr3 = {
 	(BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
 	BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
 	},
@@ -58693,6 +65865,7 @@ 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_ZERO
 	},
+	/* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */
 	/* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */
 	{
 	.description = "act_rec_ptr",
@@ -58828,172 +66001,6 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	(BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
 	BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */
-	{
-	.description = "l2ip_dest_data",
-	.field_bit_size = 17,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2ip_dest_enb",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2ip_rfs_data",
-	.field_bit_size = 9,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2ip_rfs_enb",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2ip_act_rec_ptr",
-	.field_bit_size = 26,
-	.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 = "l2ip_act_scope",
-	.field_bit_size = 5,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
-	.field_opr1 = {
-		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
-		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
-		(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
-		BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
-	},
-	{
-	.description = "l2ip_act_hint",
-	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2ip_act_enb",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-	1}
-	},
-	{
-	.description = "l2ip_meta",
-	.field_bit_size = 35,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2ip_meta_enb",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "ctxt_opcode",
-	.field_bit_size = 2,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-	ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW}
-	},
-	{
-	.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}
-	},
-	{
-	.description = "prsv_prof_func_id",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "l2_cntxt_id",
-	.field_bit_size = 11,
-	.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 = "prsv_l2ip_cntxt_id",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "parif",
-	.field_bit_size = 5,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
-	},
-	{
-	.description = "prsv_parif",
-	.field_bit_size = 1,
-	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
-	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
-	.field_opr1 = {
-	1}
-	},
-	/* 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 = 11,
-	.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 = 11,
-	.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 = 32,
-	.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: cmm_full_act_record.throw_away_egr */
 	{
 	.description = "type",
@@ -60768,6 +67775,212 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_class_result_field_list[] = {
 	.field_bit_size = 7,
 	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
 	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */
+	{
+	.description = "l2ip_dest_data",
+	.field_bit_size = 17,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_dest_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_rfs_data",
+	.field_bit_size = 9,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_rfs_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_act_rec_ptr",
+	.field_bit_size = 26,
+	.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 = "l2ip_act_scope",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+	.field_opr1 = {
+		(BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
+		BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff,
+		(BNXT_ULP_PORT_TABLE_TABLE_SCOPE >> 8) & 0xff,
+		BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
+	},
+	{
+	.description = "l2ip_act_hint",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_act_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	1}
+	},
+	{
+	.description = "l2ip_meta",
+	.field_bit_size = 35,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2ip_meta_enb",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "ctxt_opcode",
+	.field_bit_size = 2,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+	.field_opr1 = {
+	ULP_THOR2_SYM_CTXT_OPCODE_NORMAL_FLOW}
+	},
+	{
+	.description = "prof_func_id",
+	.field_bit_size = 8,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(4342 >> 8) & 0xff,
+		4342 & 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 = "prsv_prof_func_id",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "l2_cntxt_id",
+	.field_bit_size = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(4344 >> 8) & 0xff,
+		4344 & 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 = "prsv_l2ip_cntxt_id",
+	.field_bit_size = 1,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "parif",
+	.field_bit_size = 5,
+	.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+	.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+	},
+	{
+	.description = "prsv_parif",
+	.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 */
+	{
+	.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 = 11,
+	.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 = 11,
+	.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(4346 >> 8) & 0xff,
+		4346 & 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 = 32,
+	.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_TERNARY_LIST,
+	.field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+	.field_opr1 = {
+		(4348 >> 8) & 0xff,
+		4348 & 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}
 	}
 };
 
@@ -60785,6 +67998,37 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	.ident_bit_size = 8,
 	.ident_bit_pos = 128
 	},
+	/* class_tid: 1, , table: tunnel_gparse_cache.dynupar_tunnel_rd */
+	{
+	.description = "alloc_tun",
+	.regfile_idx = BNXT_ULP_RF_IDX_DYN_UPAR_PTR_0,
+	.ident_bit_size = 8,
+	.ident_bit_pos = 80
+	},
+	{
+	.description = "dyn_tun_type",
+	.regfile_idx = BNXT_ULP_RF_IDX_DYN_TUN_TYPE,
+	.ident_bit_size = 8,
+	.ident_bit_pos = 88
+	},
+	{
+	.description = "dyn_upar_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_DYN_UPAR_ID,
+	.ident_bit_size = 8,
+	.ident_bit_pos = 96
+	},
+	{
+	.description = "rid",
+	.regfile_idx = BNXT_ULP_RF_IDX_RID,
+	.ident_bit_size = 32,
+	.ident_bit_pos = 0
+	},
+	{
+	.description = "udp_port",
+	.regfile_idx = BNXT_ULP_RF_IDX_TUNNEL_PORT,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 32
+	},
 	/* class_tid: 1, , table: tunnel_gparse_cache.custom_tunnel_rd */
 	{
 	.description = "rid",
@@ -60801,7 +68045,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	/* class_tid: 1, , table: l2_cntxt_tcam_cache.def_rd */
 	{
 	.description = "l2_cntxt_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_1,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 43
 	},
@@ -60817,6 +68061,19 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	.ident_bit_size = 8,
 	.ident_bit_pos = 86
 	},
+	/* class_tid: 1, , table: table_scope_cache.tsid_ing_rd */
+	{
+	.description = "default_arec_ptr",
+	.regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
+	.ident_bit_size = 32,
+	.ident_bit_pos = 32
+	},
+	{
+	.description = "prof_func",
+	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
+	.ident_bit_size = 8,
+	.ident_bit_pos = 64
+	},
 	/* class_tid: 1, , table: tunnel_cache.f1_f2_rd */
 	{
 	.description = "cmm_stat_hndl",
@@ -60891,6 +68148,15 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
 	},
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_l2_context */
+	{
+	.description = "l2_cntxt_id",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+	.ident_bit_size = 0,
+	.ident_bit_pos = 0
+	},
 	/* class_tid: 1, , table: proto_header_cache.rd */
 	{
 	.description = "em_key_id",
@@ -60956,7 +68222,16 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	.ident_bit_size = 8,
 	.ident_bit_pos = 12
 	},
-	/* class_tid: 1, , table: profile_tcam.gen_template */
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_wc_profile */
+	{
+	.description = "wc_profile_id",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+	.ident_type = CFA_RSUBTYPE_IDENT_WC_PROF,
+	.regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0,
+	.ident_bit_size = 0,
+	.ident_bit_pos = 0
+	},
+	/* class_tid: 1, , table: profile_tcam.allocate_em_profile */
 	{
 	.description = "em_profile_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -60965,6 +68240,15 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	.ident_bit_size = 8,
 	.ident_bit_pos = 33
 	},
+	/* class_tid: 1, , table: global_identifier_app_table.allocate_em_profile */
+	{
+	.description = "em_profile_id",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+	.ident_type = CFA_RSUBTYPE_IDENT_EM_PROF,
+	.regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
+	.ident_bit_size = 0,
+	.ident_bit_pos = 0
+	},
 	/* class_tid: 1, , table: em_flow_conflict_cache.rd */
 	{
 	.description = "flow_sig_id",
@@ -61100,7 +68384,7 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	.ident_bit_size = 8,
 	.ident_bit_pos = 64
 	},
-	/* class_tid: 3, , table: profile_tcam_bypass.ing_catch_all */
+	/* class_tid: 3, , table: profile_tcam_bypass.allocate_prof_func */
 	{
 	.description = "prof_func_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
@@ -61109,21 +68393,14 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	.ident_bit_size = 0,
 	.ident_bit_pos = 0
 	},
-	/* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */
-	{
-	.description = "l2_cntxt_id",
-	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
-	.ident_bit_size = 11,
-	.ident_bit_pos = 43
-	},
-	/* class_tid: 3, , table: l2_cntxt_tcam.svif_ing */
+	/* class_tid: 3, , table: global_identifier_app_table.allocate_prof_func */
 	{
-	.description = "l2_cntxt_id",
+	.description = "prof_func_id",
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
-	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
-	.ident_bit_size = 11,
-	.ident_bit_pos = 109
+	.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
 	},
 	/* class_tid: 3, , table: l2_cntxt_tcam.non_vfr_svif_egr */
 	{
@@ -61201,6 +68478,74 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_class_ident_list[] = {
 	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
 	.ident_bit_size = 11,
 	.ident_bit_pos = 109
+	},
+	/* class_tid: 5, , table: table_scope_cache.tsid_ing_rd */
+	{
+	.description = "default_arec_ptr",
+	.regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
+	.ident_bit_size = 32,
+	.ident_bit_pos = 32
+	},
+	{
+	.description = "prof_func",
+	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_0,
+	.ident_bit_size = 8,
+	.ident_bit_pos = 64
+	},
+	/* 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 = 11,
+	.ident_bit_pos = 43
+	},
+	/* 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 = 11,
+	.ident_bit_pos = 43
+	},
+	{
+	.description = "prof_func_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_PROF_FUNC_ID_1,
+	.ident_bit_size = 8,
+	.ident_bit_pos = 86
+	},
+	/* class_tid: 5, , table: l2_cntxt_tcam.svif_ing */
+	{
+	.description = "l2_cntxt_id",
+	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
+	.ident_type = CFA_RSUBTYPE_IDENT_L2CTX,
+	.regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
+	.ident_bit_size = 11,
+	.ident_bit_pos = 109
+	},
+	/* 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: 8, , table: hot_upgrade_tcam_cache.iterate_read */
+	{
+	.description = "priority",
+	.regfile_idx = BNXT_ULP_RF_IDX_APP_PRIO,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 48
+	},
+	{
+	.description = "tcam_id",
+	.regfile_idx = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
+	.ident_bit_size = 16,
+	.ident_bit_pos = 32
+	},
+	{
+	.description = "track_type",
+	.regfile_idx = BNXT_ULP_RF_IDX_RF_0,
+	.ident_bit_size = 4,
+	.ident_bit_pos = 64
 	}
 };
 
-- 
2.39.5 (Apple Git-154)


  parent reply	other threads:[~2025-10-22  7:26 UTC|newest]

Thread overview: 207+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-30  0:35 [PATCH 00/54] bnxt patchset Manish Kurup
2025-09-30  0:35 ` [PATCH 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup
2025-09-30  0:35 ` [PATCH 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup
2025-09-30  0:35 ` [PATCH 03/54] net/bnxt: enable vector mode processing Manish Kurup
2025-09-30  0:35 ` [PATCH 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup
2025-09-30  0:35 ` [PATCH 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup
2025-09-30  0:35 ` [PATCH 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup
2025-09-30  0:35 ` [PATCH 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup
2025-09-30  0:35 ` [PATCH 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup
2025-09-30  0:35 ` [PATCH 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup
2025-09-30  0:35 ` [PATCH 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup
2025-09-30  0:35 ` [PATCH 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup
2025-09-30  0:35 ` [PATCH 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup
2025-09-30  0:35 ` [PATCH 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup
2025-09-30  0:35 ` [PATCH 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup
2025-09-30  0:35 ` [PATCH 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup
2025-09-30  0:35 ` [PATCH 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup
2025-09-30  0:35 ` [PATCH 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup
2025-09-30  0:35 ` [PATCH 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup
2025-09-30  0:35 ` [PATCH 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup
2025-09-30  0:35 ` [PATCH 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup
2025-09-30  0:35 ` [PATCH 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup
2025-09-30  0:35 ` [PATCH 22/54] net/bnxt: fix default rss config Manish Kurup
2025-09-30  0:35 ` [PATCH 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup
2025-09-30  0:35 ` [PATCH 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup
2025-09-30  0:35 ` [PATCH 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup
2025-09-30  0:35 ` [PATCH 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup
2025-09-30  0:35 ` [PATCH 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup
2025-09-30  0:35 ` [PATCH 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup
2025-09-30  0:35 ` [PATCH 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup
2025-09-30  0:35 ` [PATCH 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup
2025-09-30  0:35 ` [PATCH 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup
2025-09-30  0:35 ` [PATCH 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup
2025-09-30  0:35 ` [PATCH 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup
2025-09-30  0:35 ` [PATCH 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup
2025-09-30  0:35 ` [PATCH 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup
2025-09-30  0:35 ` [PATCH 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup
2025-09-30  0:35 ` [PATCH 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup
2025-09-30  0:35 ` [PATCH 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup
2025-09-30  0:35 ` [PATCH 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup
2025-09-30  0:35 ` [PATCH 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup
2025-09-30  0:35 ` [PATCH 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup
2025-09-30  0:35 ` [PATCH 42/54] net/bnxt: packet drop after port stop and start Manish Kurup
2025-09-30  0:35 ` [PATCH 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup
2025-09-30  0:35 ` [PATCH 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup
2025-09-30  0:35 ` [PATCH 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup
2025-09-30  0:35 ` [PATCH 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup
2025-09-30  0:35 ` [PATCH 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup
2025-09-30  0:35 ` [PATCH 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup
2025-09-30  0:35 ` [PATCH 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup
2025-09-30  0:36 ` [PATCH 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup
2025-09-30  0:36 ` [PATCH 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup
2025-09-30  0:36 ` [PATCH 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup
2025-09-30  0:36 ` [PATCH 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup
2025-09-30  0:36 ` [PATCH 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup
2025-10-09 22:10 ` [PATCH v2 00/54] bnxt patchset Manish Kurup
2025-10-09 22:10   ` [PATCH v2 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup
2025-10-09 22:10   ` [PATCH v2 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup
2025-10-09 22:10   ` [PATCH v2 03/54] net/bnxt: enable vector mode processing Manish Kurup
2025-10-09 22:10   ` [PATCH v2 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup
2025-10-09 22:10   ` [PATCH v2 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup
2025-10-09 22:10   ` [PATCH v2 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup
2025-10-09 22:10   ` [PATCH v2 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup
2025-10-09 22:10   ` [PATCH v2 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup
2025-10-09 22:10   ` [PATCH v2 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup
2025-10-09 22:10   ` [PATCH v2 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup
2025-10-09 22:10   ` [PATCH v2 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup
2025-10-09 22:10   ` [PATCH v2 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup
2025-10-09 22:10   ` [PATCH v2 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup
2025-10-09 22:10   ` [PATCH v2 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup
2025-10-09 22:10   ` [PATCH v2 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup
2025-10-09 22:10   ` [PATCH v2 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup
2025-10-09 22:10   ` [PATCH v2 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup
2025-10-09 22:10   ` [PATCH v2 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup
2025-10-09 22:10   ` [PATCH v2 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup
2025-10-09 22:10   ` [PATCH v2 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup
2025-10-09 22:10   ` [PATCH v2 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup
2025-10-09 22:10   ` [PATCH v2 22/54] net/bnxt: fix default rss config Manish Kurup
2025-10-09 22:10   ` [PATCH v2 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup
2025-10-09 22:10   ` [PATCH v2 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup
2025-10-09 22:11   ` [PATCH v2 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup
2025-10-09 22:11   ` [PATCH v2 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup
2025-10-09 22:11   ` [PATCH v2 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup
2025-10-09 22:11   ` [PATCH v2 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup
2025-10-09 22:11   ` [PATCH v2 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup
2025-10-09 22:11   ` [PATCH v2 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup
2025-10-09 22:11   ` [PATCH v2 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup
2025-10-09 22:11   ` [PATCH v2 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup
2025-10-09 22:11   ` [PATCH v2 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup
2025-10-09 22:11   ` [PATCH v2 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup
2025-10-09 22:11   ` [PATCH v2 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup
2025-10-09 22:11   ` [PATCH v2 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup
2025-10-09 22:11   ` [PATCH v2 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup
2025-10-09 22:11   ` [PATCH v2 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup
2025-10-09 22:11   ` [PATCH v2 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup
2025-10-09 22:11   ` [PATCH v2 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup
2025-10-09 22:11   ` [PATCH v2 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup
2025-10-09 22:11   ` [PATCH v2 42/54] net/bnxt: packet drop after port stop and start Manish Kurup
2025-10-09 22:11   ` [PATCH v2 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup
2025-10-09 22:11   ` [PATCH v2 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup
2025-10-09 22:11   ` [PATCH v2 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup
2025-10-09 22:11   ` [PATCH v2 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup
2025-10-09 22:11   ` [PATCH v2 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup
2025-10-09 22:11   ` [PATCH v2 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup
2025-10-09 22:11   ` [PATCH v2 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup
2025-10-09 22:11   ` [PATCH v2 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup
2025-10-09 22:11   ` [PATCH v2 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup
2025-10-09 22:11   ` [PATCH v2 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup
2025-10-09 22:11   ` [PATCH v2 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup
2025-10-09 22:11   ` [PATCH v2 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup
2025-10-15  8:59   ` [PATCH v3 00/54] bnxt patchset Manish Kurup
2025-10-15  8:59     ` [PATCH v3 01/54] net/bnxt/tf_ulp: add bnxt app data for 25.11 Manish Kurup
2025-10-15  8:59     ` [PATCH v3 02/54] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup
2025-10-15  8:59     ` [PATCH v3 03/54] net/bnxt: enable vector mode processing Manish Kurup
2025-10-15  8:59     ` [PATCH v3 04/54] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup
2025-10-15  8:59     ` [PATCH v3 05/54] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup
2025-10-15  8:59     ` [PATCH v3 06/54] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup
2025-10-15  8:59     ` [PATCH v3 07/54] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup
2025-10-15  8:59     ` [PATCH v3 08/54] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup
2025-10-15  8:59     ` [PATCH v3 09/54] net/bnxt/tf_core: add support for multi instance Manish Kurup
2025-10-15  8:59     ` [PATCH v3 10/54] net/bnxt/tf_core: fix table scope free Manish Kurup
2025-10-15  8:59     ` [PATCH v3 11/54] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup
2025-10-15  8:59     ` [PATCH v3 12/54] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup
2025-10-15  8:59     ` [PATCH v3 13/54] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup
2025-10-15  8:59     ` [PATCH v3 14/54] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup
2025-10-15  8:59     ` [PATCH v3 15/54] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup
2025-10-15  8:59     ` [PATCH v3 16/54] net/bnxt/tf_ulp: hot upgrade support Manish Kurup
2025-10-15  8:59     ` [PATCH v3 17/54] net/bnxt/tf_core: tcam manager logical id free Manish Kurup
2025-10-15  8:59     ` [PATCH v3 18/54] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup
2025-10-15  8:59     ` [PATCH v3 19/54] net/bnxt: fix max VFs count for thor2 Manish Kurup
2025-10-15  8:59     ` [PATCH v3 20/54] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup
2025-10-15  8:59     ` [PATCH v3 21/54] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup
2025-10-15  8:59     ` [PATCH v3 22/54] net/bnxt: fix default rss config Manish Kurup
2025-10-15  8:59     ` [PATCH v3 23/54] net/bnxt/tf_ulp: enable support for global index table Manish Kurup
2025-10-15  8:59     ` [PATCH v3 24/54] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup
2025-10-15  8:59     ` [PATCH v3 25/54] net/bnxt: truflow remove redundant code for mpc init Manish Kurup
2025-10-15  8:59     ` [PATCH v3 26/54] net/bnxt/tf_ulp: optimize template enums Manish Kurup
2025-10-15  8:59     ` [PATCH v3 27/54] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup
2025-10-15  8:59     ` [PATCH v3 28/54] net/bnxt/tf_ulp: support MPLS packets Manish Kurup
2025-10-15  8:59     ` [PATCH v3 29/54] net/bnxt/tf_core: add backing store debug to dpdk Manish Kurup
2025-10-15  9:00     ` [PATCH v3 30/54] net/bnxt/tf_core: truflow global table scope Manish Kurup
2025-10-15  9:00     ` [PATCH v3 31/54] net/bnxt/tf_ulp: ulp parser support to handle gre key Manish Kurup
2025-10-15  9:00     ` [PATCH v3 32/54] net/bnxt/tf_core: handle out of order MPC completions Manish Kurup
2025-10-15  9:00     ` [PATCH v3 33/54] net/bnxt/tf_ulp: socket direct enable Manish Kurup
2025-10-15  9:00     ` [PATCH v3 34/54] net/bnxt: fix adding udp_tunnel_port Manish Kurup
2025-10-15  9:00     ` [PATCH v3 35/54] net/bnxt/tf_ulp: add non vfr mode capability Manish Kurup
2025-10-15  9:00     ` [PATCH v3 36/54] net/bnxt: avoid iova range check when external memory is used Manish Kurup
2025-10-15  9:00     ` [PATCH v3 37/54] net/bnxt: avoid potential segfault in VFR handling Manish Kurup
2025-10-15  9:00     ` [PATCH v3 38/54] net/bnxt/tf_ulp: change rte_mem_virt2iova to rte_mem_virt2phys Manish Kurup
2025-10-15  9:00     ` [PATCH v3 39/54] net/bnxt: thor2 truflow memory manager bug Manish Kurup
2025-10-15  9:00     ` [PATCH v3 40/54] net/bnxt: fix stats collection when rx queue is not set Manish Kurup
2025-10-15  9:00     ` [PATCH v3 41/54] net/bnxt: fix rss configuration when set to none Manish Kurup
2025-10-15  9:00     ` [PATCH v3 42/54] net/bnxt: packet drop after port stop and start Manish Kurup
2025-10-15  9:00     ` [PATCH v3 43/54] net/bnxt/tf_core: fix truflow crash on memory allocation failure Manish Kurup
2025-10-15  9:00     ` [PATCH v3 44/54] net/bnxt: truflow remove RTE devarg processing for mpc=1 Manish Kurup
2025-10-15  9:00     ` [PATCH v3 45/54] net/bnxt: add meson build options for TruFlow Manish Kurup
2025-10-15  9:00     ` [PATCH v3 46/54] net/bnxt: truflow HSI struct fixes Manish Kurup
2025-10-15  9:00     ` [PATCH v3 47/54] net/bnxt/tf_ulp: truflow add pf action handler Manish Kurup
2025-10-15  9:00     ` [PATCH v3 48/54] net/bnxt/tf_ulp: add support for unicast only feature Manish Kurup
2025-10-15  9:00     ` [PATCH v3 49/54] net/bnxt/tf_core: remove excessive debug logging Manish Kurup
2025-10-15  9:00     ` [PATCH v3 50/54] net/bnxt/tf_core: fix truflow PF init failure on sriov disabled Manish Kurup
2025-10-15  9:00     ` [PATCH v3 51/54] net/bnxt/tf_ulp: fixes to enable TF functionality Manish Kurup
2025-10-15  9:00     ` [PATCH v3 52/54] net/bnxt/tf_ulp: add feature bit rx miss handling Manish Kurup
2025-10-15  9:00     ` [PATCH v3 53/54] net/bnxt: add support for truflow promiscuous mode Manish Kurup
2025-10-15  9:00     ` [PATCH v3 54/54] net/bnxt/tf_ulp: remove Truflow DEBUG code Manish Kurup
2025-10-15 17:43     ` [PATCH v3 00/54] bnxt patchset Stephen Hemminger
2025-10-15 17:52       ` Ajit Khaparde
2025-10-15 18:20         ` Manish Kurup
2025-10-15 19:09           ` Stephen Hemminger
2025-10-15 19:46             ` Manish Kurup
2025-10-16 15:39               ` Ajit Khaparde
2025-10-16 19:29                 ` Thomas Monjalon
2025-10-16 19:34                   ` Manish Kurup
2025-10-21 17:49     ` [PATCH v4 00/57] " Manish Kurup
2025-10-21 17:49       ` [PATCH v4 01/57] net/bnxt/tf_ulp: add bnxt platform data for 25.11 Manish Kurup
2025-10-21 17:49       ` [PATCH v4 02/57] net/bnxt/tf_ulp: add bnxt app data for 25.11 for Wh+ Manish Kurup
2025-10-21 17:49       ` [PATCH v4 03/57] net/bnxt/tf_ulp: add bnxt app data for 25.11 - Thor Manish Kurup
2025-10-21 17:49       ` Manish Kurup [this message]
2025-10-21 17:49       ` [PATCH v4 05/57] net/bnxt: fix a NULL pointer dereference in bnxt_rep funcs Manish Kurup
2025-10-21 17:49       ` [PATCH v4 06/57] net/bnxt: enable vector mode processing Manish Kurup
2025-10-21 17:49       ` [PATCH v4 07/57] net/bnxt/tf_ulp: add meter stats support for Thor2 Manish Kurup
2025-10-21 17:50       ` [PATCH v4 08/57] net/bnxt/tf_core: dynamic UPAR support for THOR2 Manish Kurup
2025-10-21 17:50       ` [PATCH v4 09/57] net/bnxt/tf_core: fix the miscalculation of the lkup table pool Manish Kurup
2025-10-21 17:50       ` [PATCH v4 10/57] net/bnxt/tf_core: thor2 TF table scope sizing adjustments Manish Kurup
2025-10-21 17:50       ` [PATCH v4 11/57] net/bnxt/tf_ulp: add support for global identifiers Manish Kurup
2025-10-21 17:50       ` [PATCH v4 12/57] net/bnxt/tf_core: add support for multi instance Manish Kurup
2025-10-21 17:50       ` [PATCH v4 13/57] net/bnxt/tf_core: fix table scope free Manish Kurup
2025-10-21 17:50       ` [PATCH v4 14/57] net/bnxt/tf_core: fix vfr clean up and stats lockup Manish Kurup
2025-10-21 17:50       ` [PATCH v4 15/57] net/bnxt/tf_ulp: add support for special vxlan Manish Kurup
2025-10-21 17:50       ` [PATCH v4 16/57] net/bnxt/tf_ulp: increase shared pool size to 32 Manish Kurup
2025-10-21 17:50       ` [PATCH v4 17/57] next/bnxt/tf_ulp: truflow fixes for meter and mac_addr cache Manish Kurup
2025-10-21 17:50       ` [PATCH v4 18/57] net/bnxt/tf_ulp: add support for tcam priority update Manish Kurup
2025-10-21 17:50       ` [PATCH v4 19/57] net/bnxt/tf_ulp: hot upgrade support Manish Kurup
2025-10-21 17:50       ` [PATCH v4 20/57] net/bnxt/tf_core: tcam manager logical id free Manish Kurup
2025-10-21 17:50       ` [PATCH v4 21/57] net/bnxt/tf_ulp: fix stats counter memory initialization Manish Kurup
2025-10-21 17:50       ` [PATCH v4 22/57] net/bnxt: fix max VFs count for thor2 Manish Kurup
2025-10-21 17:50       ` [PATCH v4 23/57] net/bnxt/tf_ulp: ovs-dpdk packet drop observed with thor2 Manish Kurup
2025-10-21 17:50       ` [PATCH v4 24/57] net/bnxt/tf_ulp: fix seg fault when devargs argument missing Manish Kurup
2025-10-21 17:50       ` [PATCH v4 25/57] net/bnxt: fix default rss config Manish Kurup
2025-10-21 17:50       ` [PATCH v4 26/57] net/bnxt/tf_ulp: enable support for global index table Manish Kurup
2025-10-21 17:50       ` [PATCH v4 27/57] net/bnxt/tf_core: fix build failure with flow scale option Manish Kurup
2025-10-21 17:50       ` [PATCH v4 28/57] net/bnxt: truflow remove redundant code for mpc init Manish Kurup
2025-10-21 17:50       ` [PATCH v4 29/57] net/bnxt/tf_ulp: optimize template enums Manish Kurup
2025-10-21 17:50       ` [PATCH v4 30/57] net/bnxt/tf_core: thor2 hot upgrade ungraceful quit crash Manish Kurup
2025-10-21 17:50       ` [PATCH v4 31/57] net/bnxt/tf_ulp: support MPLS packets Manish Kurup
2025-10-22  0:17       ` [PATCH v4 00/57] bnxt patchset Manish Kurup
2025-10-22 16:15         ` Manish Kurup

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251021175049.46092-5-manish.kurup@broadcom.com \
    --to=manish.kurup@broadcom.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).